printout times SunOS spooler ./. CUPS 1.4.3

Matthias Apitz guru at unixarea.de
Wed Jun 8 00:39:45 PDT 2011


Helge Blischke wrote:

>> lpsched: 92 secs
>> CUPS: 203 secs
>> 
>> and you can hear short delays while the pages send out from CUPS get
>> printed;
>> 
>> before watching the details with TCPDUMP, is there any explanation for
>> this? note: it is only plain PCL, no PostScript gets involved;
>> 
>> Thanks
>> 
>> matthias
> 
> First, try appending the option
> ?waiteof=false
> to the device URI. That causes the socket backend not to wait until the
> other side (the printer) closes the connection.
> 
> If that isn't enough, you may recompile the socket backend and disable the
> use of the wait_bc function (which waits up to 5 seconds to drain the
> backchannel data).
> 
> Or you use the hpnpf backend (see the links at wwwlcups.org) and ask me
> for a wrapper script that turns off all waiting of this backend.
> 
> Helge

Helge,

Thanks for the hints. Concerning wait_bc() function call: the CUPS version
in question is 1.4.3 and interestingly on my FreeBSD laptop in CUPS 1.4.6
the code is already commented away in socket.c with:

#ifdef __APPLE__
 /*
  * Wait up to 5 seconds to get any pending back-channel data...
  */

  wait_time = time(NULL) + 5;
  while (wait_time >= time(&current_time))
    if (wait_bc(device_fd, wait_time - current_time) <= 0)
      break;
#endif /* __APPLE__ */

I commented out the lines in 1.4.3 too; in addition I applied the
option ?waiteof=false to the URI and now the printout matches nearly what
the printer is able to do with moving the paper;

Concerning the applied patch, is there some risk about data loss in heavy
busy situations?

Thanks

    matthias





More information about the cups mailing list