This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author gregory.p.smith
Recipients giampaolo.rodola, gregory.p.smith
Date 2008-07-06.18:44:33
SpamBayes Score 0.0003774931
Marked as misclassified No
Message-id <1215369875.77.0.670352426517.issue3278@psf.upfronthosting.co.za>
In-reply-to
Content
p648 of Unix Network Programming third edition:

"4. If the process has set the SO_OOBINLINE socket option and then tries
to read the out-of-band data by specifying MSG_OOB, EINVAL is returned."

so it does not sound like a bug in Python.

There -does- appear to be a difference in BSD and Linux's socket
implementation here.  select returned the socket in both the read and
exception list on Linux.  While on BSD it only returned it in the
exception list.

The application is presumably supposed to keep track of which sockets it
has set SO_OOBINLINE on to know what to do when select returns them in
the exception state.

That said... OS X (and presumably FreeBSD) behaves oddly.  The socket is
only ever returned in the e list and an attempt to conn.recv(1) from it
raises socket.error "error: [Errno 35] Resource temporarily unavailable"
History
Date User Action Args
2008-07-06 18:44:36gregory.p.smithsetspambayes_score: 0.000377493 -> 0.0003774931
recipients: + gregory.p.smith, giampaolo.rodola
2008-07-06 18:44:35gregory.p.smithsetspambayes_score: 0.000377493 -> 0.000377493
messageid: <1215369875.77.0.670352426517.issue3278@psf.upfronthosting.co.za>
2008-07-06 18:44:34gregory.p.smithlinkissue3278 messages
2008-07-06 18:44:34gregory.p.smithcreate