issue #9090 : Limit the fix to windows since getting a portable simple

time function on non-windows isn't quite simple.
parent 6ebc8f3f
......@@ -751,6 +751,14 @@ internal_select(PySocketSockObject *s, int writing)
}
END_SELECT_LOOP(s)
*/
#ifdef _WIN32
/* _PyTime_floattime is exported from timemodule.c which is a builtin on windows
* but not on linux. The problem we are fixing is mostly a windows problem so
* we leave it at that.
*/
#define HAVE_PYTIME_FLOATTIME
#endif
#ifdef HAVE_PYTIME_FLOATTIME
PyAPI_FUNC(double) _PyTime_floattime(void); /* defined in timemodule.c */
#define BEGIN_SELECT_LOOP(s) \
{ \
......@@ -768,7 +776,18 @@ PyAPI_FUNC(double) _PyTime_floattime(void); /* defined in timemodule.c */
break; \
interval = deadline - _PyTime_floattime(); \
} \
} \
}
#else
#define BEGIN_SELECT_LOOP(s) \
{ \
double interval = s->sock_timeout; \
do { \
errno = 0; \
#define END_SELECT_LOOP(s) \
} while(0); \
}
#endif
/* Initialize a new socket object. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment