[cups.bugs] [CRIT] STR #3108: cups-deviced can miss backend output
twaugh at redhat.com
Thu Feb 19 10:04:53 PST 2009
DO NOT REPLY TO THIS MESSAGE. INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.
The poll() loop in cups-deviced.c can miss backend output when a backend
reports more than one device.
Details: Although poll() is used for deciding whether there is input to
read, the data is read in a buffered manner using cupsFileGets(). This is
only performed once per poll result and so there may be several lines
buffered but only one read.
One way around this would be to loop around get_device while
(backend->pipe->ptr < backend->pipe->end).
More information about the cups-devel