[New-bugs-announce] [issue4501] asyncore's urgent data management and connection closed events are broken when using poll()
report at bugs.python.org
Wed Dec 3 02:10:55 CET 2008
New submission from Giampaolo Rodola' <billiejoex at users.sourceforge.net>:
I discovered that some pyftpdlib  tests fail when using poll()
instead of select().
The problem is in asyncore.readwrite() function which erroneously calls
handle_read_event() in case of a POLLPRI event.
The patches modify readwrite() function so that:
- POLLPRI is now treated as synonym for "there is urgent data to read"
so handle_expt_event() is called.
- POLLHUP, POLLERR and POLLINVAL are now treated as synonyms for "the
connection has been closed" (Twisted behaves exactly the same) so
handle_close() is called.
Both pyftpdlib and asyncore tests passed on Linux Debian Etch and
components: Library (Lib)
nosy: giampaolo.rodola, josiah.carlson, josiahcarlson
title: asyncore's urgent data management and connection closed events are broken when using poll()
versions: Python 2.6, Python 2.7, Python 3.0, Python 3.1
Added file: http://bugs.python.org/file12206/asyncore.patch
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce