]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
Fix an old bug in poll(). When a signal is handled while we're
authorGuido van Rossum <guido@python.org>
Tue, 5 Nov 2002 18:41:20 +0000 (18:41 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 5 Nov 2002 18:41:20 +0000 (18:41 +0000)
commite94d8fab5671b1d76c76881b20ec133a627d7936
tree218913a478ca9512e2d420686a8efbccc3a4d5bd
parent18142c0ca750b06320b4593133fe0c1b5a94336b
Fix an old bug in poll().  When a signal is handled while we're
blocked in select(), this will raise select.error with errno set to
EINTR.  The except clauses correctly ignores this error, but the rest
of the logic will then call read() for all objects in select's *input*
list of read file descriptors.  Then when an object's read_handler()
is naive, it will call recv() on its socket, which will raise an
IOError, and then asyncore decides to close the socket.  To fix this,
we simply return in this case.

Backport candidate.
Lib/asyncore.py