diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2015-04-09 08:23:12 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2015-04-09 08:23:12 (GMT) |
commit | 88ed640fc7aec18c6148525801186264ebef8a75 (patch) | |
tree | 95b04e27c6f3fa2fd2c91531e352d60ab06759c4 | |
parent | da5cbe65ae2cf43164ce4ba8e3b47d7b8c15c013 (diff) | |
download | cpython-88ed640fc7aec18c6148525801186264ebef8a75.zip cpython-88ed640fc7aec18c6148525801186264ebef8a75.tar.gz cpython-88ed640fc7aec18c6148525801186264ebef8a75.tar.bz2 |
Issue #23834: Fix the default socket timeout
Use -1 second by default, not -1 nanosecond.
-rw-r--r-- | Include/pytime.h | 7 | ||||
-rw-r--r-- | Modules/socketmodule.c | 3 |
2 files changed, 8 insertions, 2 deletions
diff --git a/Include/pytime.h b/Include/pytime.h index bf0dcd8..027c3d8 100644 --- a/Include/pytime.h +++ b/Include/pytime.h @@ -67,7 +67,12 @@ PyAPI_FUNC(int) _PyTime_ObjectToTimespec( /* Create a timestamp from a number of seconds. */ -PyAPI_FUNC(_PyTime_t) _PyTime_FromSeconds(int ns); +PyAPI_FUNC(_PyTime_t) _PyTime_FromSeconds(int seconds); + +/* Macro to create a timestamp from a number of seconds, no integer overflow. + Only use the macro for small values, prefer _PyTime_FromSeconds(). */ +#define _PYTIME_FROMSECONDS(seconds) \ + ((_PyTime_t)(seconds) * (1000 * 1000 * 1000)) /* Create a timestamp from a number of nanoseconds. */ PyAPI_FUNC(_PyTime_t) _PyTime_FromNanoseconds(PY_LONG_LONG ns); diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 1ecec5a..8c5c36c 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -839,7 +839,8 @@ sock_call(PySocketSockObject *s, /* Initialize a new socket object. */ -static _PyTime_t defaulttimeout = -1; /* Default timeout for new sockets */ +/* Default timeout for new sockets */ +static _PyTime_t defaulttimeout = _PYTIME_FROMSECONDS(-1); static void init_sockobject(PySocketSockObject *s, |