changeset: 95494:462680f4e8af user: Victor Stinner date: Thu Apr 09 10:23:12 2015 +0200 files: Include/pytime.h Modules/socketmodule.c description: Issue #23834: Fix the default socket timeout Use -1 second by default, not -1 nanosecond. diff -r 0ca028765488 -r 462680f4e8af Include/pytime.h --- a/Include/pytime.h Wed Apr 08 16:53:21 2015 +0100 +++ b/Include/pytime.h Thu Apr 09 10:23:12 2015 +0200 @@ -67,7 +67,12 @@ /* 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 -r 0ca028765488 -r 462680f4e8af Modules/socketmodule.c --- a/Modules/socketmodule.c Wed Apr 08 16:53:21 2015 +0100 +++ b/Modules/socketmodule.c Thu Apr 09 10:23:12 2015 +0200 @@ -839,7 +839,8 @@ /* 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,