[issue13310] asyncore handling of out-of-band data fails
Xavier de Gaye
report at bugs.python.org
Wed Nov 2 11:29:08 CET 2011
Xavier de Gaye <xdegaye at gmail.com> added the comment:
Hi Charles-François,
> And indeed, that's a known kernel regression introduced in 2.6.28,
> and fixed by this commit:
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b634f87522dff87712df8bda2a6c9061954d552a
> http://kerneltrap.org/mailarchive/linux-netdev/2010/3/15/6271951
The BlockingIOError exception occurs on linux 2.6.30 for me.
> Note that there might still be a problem with the current code:
> recv() can return EAGAIN on a FD reported readable/writable by
> select() (for example if the network stack received an input packet
> and then discards it because of an invalid checksum, or because the
> output socket buffer has room left but not enough to accomodate the
> packet we're trying to send): I'll have to think a bit to see if we
> can do something about this, but that's another issue.
It is not clear why recv() can return EAGAIN because we're trying to
_send_ a packet ;-)
> Closing as invalid
Ok, 2.6.30 is an old kernel and urgent data is mostly never used.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue13310>
_______________________________________
More information about the Python-bugs-list
mailing list