[cups.bugs] [MOD] STR #2902: Blocking write in backendRunLoop of runloop.c
Pierre Enriquez
penrique at lexmark.com
Tue Aug 12 10:20:02 PDT 2008
DO NOT REPLY TO THIS MESSAGE. INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.
[STR New]
In backendRunLoop() of runloop.c, when the printer is in error state (e.g.
paper out), there is a possibility that the call write() to device_fd
would block. Thus would prevent the reading of data coming from the
printer. Setting the descriptor status flag of device_fd as non-blocking
IO would prevent write from blocking when the write operation would block.
This way, the USB backend would still be able to receive data from the
printer (e.g. alerts) and pass it to the driver via the backchannel.
Link: http://www.cups.org/str.php?L2902
Version: 1.4-current
More information about the cups
mailing list