[cups.general] CUPS v1.4rc1 - issue on OS/2

Paul Smedley pauldespam at despamsmedley.id.au
Tue Jul 21 03:49:58 PDT 2009


Hi Mike,

On Tue, 21 Jul 2009 10:31:44 UTC, "Paul Smedley" 
<pauldespam at despamsmedley.id.au> wrote:

> Hi Mike,
> 
> On Tue, 21 Jul 2009 10:12:11 UTC, "Paul Smedley" 
> <pauldespam at despamsmedley.id.au> wrote:
> 
> > Hi Mike,
> > 
> > On Mon, 20 Jul 2009 21:25:35 UTC, Michael Sweet <msweet at apple.com> 
> > wrote:
> > 
> > > On Jul 20, 2009, at 5:01 PM, Paul Smedley wrote:
> > > > ...
> > > > The outlook appears OK to me:
> > > 
> > > Hmm, verify that the backends are sending their generic scheme  
> > > listing; there isn't anything else I can see that would cause this  
> > > problem.
> > 
> > OK - I think I see what you mean now:
> > 
> > CUPS v1.3.11 - cups-deviced output:
> > [E:\cups\lib\cups\daemon]cups-deviced.exe 1 2 3 4
> > DEBUG: [cups-deviced] Added device "hp"...
> > DEBUG: [cups-deviced] Added device "ipp.exe"...
> > DEBUG: [cups-deviced] Added device "lpd"...
> > DEBUG: [cups-deviced] Added device "smb"...
> > DEBUG: [cups-deviced] Added device "socket://192.168.1.7"...
> > DEBUG: [cups-deviced] Added device "socket"...
> > 
> > CUPS 1.4rc1 cups-deviced output:
> > DEBUG: [cups-deviced] Started backend /cups/lib/cups/backend/ipp.exe 
> > (PID 45047)
> > DEBUG: [cups-deviced] Started backend /cups/lib/cups/backend/lpd.exe 
> > (PID 45049)
> > DEBUG: [cups-deviced] Started backend 
> > /cups/lib/cups/backend/parallel.exe (PID 45051)
> > DEBUG: [cups-deviced] Started backend /cups/lib/cups/backend/scsi.exe 
> > (PID 45053)
> > DEBUG: [cups-deviced] Started backend /cups/lib/cups/backend/snmp.exe 
> > (PID 45055)
> > DEBUG: [cups-deviced] Started backend 
> > /cups/lib/cups/backend/socket.exe (PID 45057)
> > DEBUG: [cups-deviced] Started backend /cups/lib/cups/backend/usb.exe 
> > (PID 45059)
> > DEBUG: [cups-deviced] PID 45047 (ipp.exe) exited with no errors.
> > DEBUG: [cups-deviced] PID 45049 (lpd.exe) exited with no errors.
> > DEBUG: [cups-deviced] PID 45051 (parallel.exe) exited with no errors.
> > DEBUG: [cups-deviced] PID 45053 (scsi.exe) exited with no errors.
> > DEBUG: [cups-deviced] PID 45057 (socket.exe) exited with no errors.
> > 
> > No 'added' devices with 1.4rc1 - time to go look at the code :)
> > 
> > Thanks for the tips!
> 
> Well I wasn't quite right about - cups-deviced has had some pretty 
> extensive changes.
> 
> The problem appears to be due to the use of poll in cups-deviced.  The
> libc library on OS/2 doesn't include poll(), so I'm using a poll.h 
> that implements poll() using select().
> 
> For whatever reason:
>     if (poll(backend_fds, num_backends, timeout) > 0)
> 
> Is never > 0 for any backends, hence no backends are added.
> 
> Investigating more now :)

Worked it out....

select() only works on sockets, not file handles with the OS/2 libc.

cups-deviced calls cupsdPipeCommand() which uses pipe(), so the 
poll/select fails.  Changing pipe() to socketpair() in 
cupsdPipeCommand() fixed cups-deviced :)

Thanks for pointing me in the right direction!

Now to work out why the testpage fails :)

-- 
Cheers,

Paul.




More information about the cups mailing list