• Victor Stinner's avatar
    Issue #23834: Simplify timeout handling · 10550cdb
    Victor Stinner yazdı
    * Use the new _PyTime_FromSeconds() function to set the timeout to -1 second
      for socket.settimeout(None). It avoids a special case in internal_select()
      because of a rounding issue: -1 nanosecond is rounded to 0 millisecond which
      means non-blocking, instead of blocking.
    * Check if the interval the negative in sock_call_ex() instead of doing the
      check in internal_select(). sock_call_ex() remembers if the socket has a
      timeout or not, which avoids a race condition if the timeout is modified in a
      different thread.
    10550cdb
socketmodule.c 205 KB