Bail out early from internal_select() when socket file descriptor

closed.  Prevents core dump.
This commit is contained in:
Guido van Rossum 2002-07-19 12:44:59 +00:00
parent 330f9e9581
commit ad65490628
1 changed files with 5 additions and 0 deletions

View File

@ -505,9 +505,14 @@ internal_select(PySocketSockObject *s, int writing)
fd_set fds;
struct timeval tv;
/* Nothing to do unless we're in timeout mode (not non-blocking) */
if (s->sock_timeout <= 0.0)
return;
/* Guard against closed socket */
if (s->sock_fd < 0)
return;
/* Construct the arguments to select */
tv.tv_sec = (int)s->sock_timeout;
tv.tv_usec = (int)((s->sock_timeout - tv.tv_sec) * 1e6);