summaryrefslogtreecommitdiffstats
path: root/Include
diff options
context:
space:
mode:
authorPablo Galindo <Pablogsal@gmail.com>2017-10-17 14:14:41 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2017-10-17 14:14:41 (GMT)
commit2c15b29aea5d6b9c61aa42d2c24a07ff1edb4b46 (patch)
treeb6b9f24a447144147ddd1959f90016106c077c05 /Include
parent552be9d7e64f91b8e4ba5b29cd5dcc442d56f92c (diff)
downloadcpython-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.h13
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);