[cups.bugs] Re: [LOW] STR #1184: Too many copies
kssingvo.suse
kssingvo at suse.de
Wed May 25 05:49:53 PDT 2005
[STR New]
I continued debugging...
Now it looks like this:
during the client <-> server communication the server reads some data from
the client, but after a while the daemon returns IPP_ERROR in this
function:
cups/ipp.c:
ippReadIO(...)
[...]
switch (ipp->state) {
[...]
case IPP_HEADER :
[...]
if ((n = (*cb)(src, buffer, 8)) < 8) {
DEBUG_printf(("ippReadIO: Unable to read header (%d bytes read)!\n",
n));
return (n == 0 ? IPP_IDLE : IPP_ERROR);
}
According to my debug-information: the daemon receives via ipp_read_http()
call -1 bytes and the errno is set to 4 (= EINTR).
So I assume that here the printer backend is sending a signal to the
daemon, about its finished communication to the printer (as it happens
only with small jobs on fast printers, I interpret this as a valid
theory).
So, whoever is familiar with code (hello Michael :-), can you tell me
which signal handlers are playing role in this case?
Have you any patch for above case handy, like mapping errno=4 to IPP_IDLE
in the return case too?
Link: http://www.cups.org/str.php?L1184
Version: 1.1.20
More information about the cups-devel
mailing list