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 neologix
Recipients gregory.p.smith, neologix, pitrou, rnk
Date 2011-04-04.07:23:33
SpamBayes Score 1.1173032e-07
Marked as misclassified No
Message-id <1301901814.56.0.805476252113.issue11757@psf.upfronthosting.co.za>
In-reply-to
Content
_remaining_time doesn't check that endtime > current time and can return a negative number, which would trigger an EINVAL when passed to select (select_select doesn't seem to check for negative double).
Note that a check is performed through _check_timeout but after having called select, so there are at least two possible ways to get this error:
The process blocks a little before calling select for the first time. This can at least happen here:
    if self.stdin and not self._communication_started:
        # Flush stdio buffer.  This might block, if the user has
        # been writing to .stdin in an uncontrolled fashion.
        self.stdin.flush()
        if not input:
            self.stdin.close()

There's also a short race window if the endtime deadline expires between the call to _check_timeout and remaining_time.
History
Date User Action Args
2011-04-04 07:23:34neologixsetrecipients: + neologix, gregory.p.smith, pitrou, rnk
2011-04-04 07:23:34neologixsetmessageid: <1301901814.56.0.805476252113.issue11757@psf.upfronthosting.co.za>
2011-04-04 07:23:33neologixlinkissue11757 messages
2011-04-04 07:23:33neologixcreate