diff options
author | Pablo Galindo <Pablogsal@gmail.com> | 2017-10-17 14:14:41 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2017-10-17 14:14:41 (GMT) |
commit | 2c15b29aea5d6b9c61aa42d2c24a07ff1edb4b46 (patch) | |
tree | b6b9f24a447144147ddd1959f90016106c077c05 /Include | |
parent | 552be9d7e64f91b8e4ba5b29cd5dcc442d56f92c (diff) | |
download | cpython-2c15b29aea5d6b9c61aa42d2c24a07ff1edb4b46.zip cpython-2c15b29aea5d6b9c61aa42d2c24a07ff1edb4b46.tar.gz cpython-2c15b29aea5d6b9c61aa42d2c24a07ff1edb4b46.tar.bz2 |
bpo-31786: Make functions in the select module blocking when timeout is a small negative value. (#4003)
Diffstat (limited to 'Include')
-rw-r--r-- | Include/pytime.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/Include/pytime.h b/Include/pytime.h index 488fdc4..9ec9b03 100644 --- a/Include/pytime.h +++ b/Include/pytime.h @@ -29,9 +29,20 @@ typedef enum { _PyTime_ROUND_CEILING=1, /* Round to nearest with ties going to nearest even integer. For example, used to round from a Python float. */ - _PyTime_ROUND_HALF_EVEN + _PyTime_ROUND_HALF_EVEN=2, + /* Round away from zero + For example, used for timeout. _PyTime_ROUND_CEILING rounds + -1e-9 to 0 milliseconds which causes bpo-31786 issue. + _PyTime_ROUND_UP rounds -1e-9 to -1 millisecond which keeps + the timeout sign as expected. select.poll(timeout) must block + for negative values." */ + _PyTime_ROUND_UP=3, + /* _PyTime_ROUND_TIMEOUT (an alias for _PyTime_ROUND_UP) should be + used for timeouts. */ + _PyTime_ROUND_TIMEOUT = _PyTime_ROUND_UP } _PyTime_round_t; + /* Convert a time_t to a PyLong. */ PyAPI_FUNC(PyObject *) _PyLong_FromTime_t( time_t sec); |