[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