]> granicus.if.org Git - python/commit
Issue #23834: Simplify timeout handling
authorVictor Stinner <victor.stinner@gmail.com>
Fri, 3 Apr 2015 11:22:27 +0000 (13:22 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Fri, 3 Apr 2015 11:22:27 +0000 (13:22 +0200)
commit10550cdb8a4412155b1743bbac01fd7cfc7320f7
tree5a82e049c91582bff6e2c91451482cc3d0fc7915
parent13019fdef3b6d589f8d7602943c76fcc637114ea
Issue #23834: Simplify timeout handling

* 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.
Modules/socketmodule.c