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 Brian Maissy
Recipients Brian Maissy
Date 2018-11-25.13:19:05
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1543151946.49.0.788709270274.issue35310@psf.upfronthosting.co.za>
In-reply-to
Content
If a call to select.select() was interrupted by a signal and the select syscall set an errno of EINTR, then under PEP 475 the select call should be re-executed.

If, however, there is a signal handler which takes enough time that the select's timeout expires, select() is not retried, and the rlist is returned as-is (with fds in it which are not ready for reading).

Under this condition, either select() should be re-run with a timeout of 0, or the fd lists should be emptied before returning.

Example code which reproduces the problem attached.
History
Date User Action Args
2018-11-25 13:19:06Brian Maissysetrecipients: + Brian Maissy
2018-11-25 13:19:06Brian Maissysetmessageid: <1543151946.49.0.788709270274.issue35310@psf.upfronthosting.co.za>
2018-11-25 13:19:06Brian Maissylinkissue35310 messages
2018-11-25 13:19:05Brian Maissycreate