bpo-15999: Always pass bool instead of int to socket.setblocking(). (GH-15621)

This commit is contained in:
Serhiy Storchaka 2019-09-01 12:12:52 +03:00 committed by GitHub
parent eb8974616b
commit 5eca7f3f38
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 18 additions and 18 deletions

View File

@ -317,7 +317,7 @@ know about the mechanics of using sockets. You'll still use the same calls, in
much the same ways. It's just that, if you do it right, your app will be almost much the same ways. It's just that, if you do it right, your app will be almost
inside-out. inside-out.
In Python, you use ``socket.setblocking(0)`` to make it non-blocking. In C, it's In Python, you use ``socket.setblocking(False)`` to make it non-blocking. In C, it's
more complex, (for one thing, you'll need to choose between the BSD flavor more complex, (for one thing, you'll need to choose between the BSD flavor
``O_NONBLOCK`` and the almost indistinguishable Posix flavor ``O_NDELAY``, which ``O_NONBLOCK`` and the almost indistinguishable Posix flavor ``O_NDELAY``, which
is completely different from ``TCP_NODELAY``), but it's the exact same idea. You is completely different from ``TCP_NODELAY``), but it's the exact same idea. You

View File

@ -228,7 +228,7 @@ class dispatcher:
if sock: if sock:
# Set to nonblocking just to make sure for cases where we # Set to nonblocking just to make sure for cases where we
# get a socket from a blocking source. # get a socket from a blocking source.
sock.setblocking(0) sock.setblocking(False)
self.set_socket(sock, map) self.set_socket(sock, map)
self.connected = True self.connected = True
# The constructor no longer requires that the socket # The constructor no longer requires that the socket
@ -280,7 +280,7 @@ class dispatcher:
def create_socket(self, family=socket.AF_INET, type=socket.SOCK_STREAM): def create_socket(self, family=socket.AF_INET, type=socket.SOCK_STREAM):
self.family_and_type = family, type self.family_and_type = family, type
sock = socket.socket(family, type) sock = socket.socket(family, type)
sock.setblocking(0) sock.setblocking(False)
self.set_socket(sock) self.set_socket(sock)
def set_socket(self, sock, map=None): def set_socket(self, sock, map=None):

View File

@ -225,7 +225,7 @@ class TestThreadedServer(SocketThread):
def run(self): def run(self):
try: try:
with self._sock: with self._sock:
self._sock.setblocking(0) self._sock.setblocking(False)
self._run() self._run()
finally: finally:
self._s1.close() self._s1.close()

View File

@ -4597,7 +4597,7 @@ class NonBlockingTCPTests(ThreadedTCPSocketTest):
def testAccept(self): def testAccept(self):
# Testing non-blocking accept # Testing non-blocking accept
self.serv.setblocking(0) self.serv.setblocking(False)
# connect() didn't start: non-blocking accept() fails # connect() didn't start: non-blocking accept() fails
start_time = time.monotonic() start_time = time.monotonic()
@ -4628,7 +4628,7 @@ class NonBlockingTCPTests(ThreadedTCPSocketTest):
# Testing non-blocking recv # Testing non-blocking recv
conn, addr = self.serv.accept() conn, addr = self.serv.accept()
self.addCleanup(conn.close) self.addCleanup(conn.close)
conn.setblocking(0) conn.setblocking(False)
# the server didn't send data yet: non-blocking recv() fails # the server didn't send data yet: non-blocking recv() fails
with self.assertRaises(BlockingIOError): with self.assertRaises(BlockingIOError):
@ -5698,15 +5698,15 @@ class NonblockConstantTest(unittest.TestCase):
with socket.socket(socket.AF_INET, with socket.socket(socket.AF_INET,
socket.SOCK_STREAM | socket.SOCK_NONBLOCK) as s: socket.SOCK_STREAM | socket.SOCK_NONBLOCK) as s:
self.checkNonblock(s) self.checkNonblock(s)
s.setblocking(1) s.setblocking(True)
self.checkNonblock(s, nonblock=False) self.checkNonblock(s, nonblock=False)
s.setblocking(0) s.setblocking(False)
self.checkNonblock(s) self.checkNonblock(s)
s.settimeout(None) s.settimeout(None)
self.checkNonblock(s, nonblock=False) self.checkNonblock(s, nonblock=False)
s.settimeout(2.0) s.settimeout(2.0)
self.checkNonblock(s, timeout=2.0) self.checkNonblock(s, timeout=2.0)
s.setblocking(1) s.setblocking(True)
self.checkNonblock(s, nonblock=False) self.checkNonblock(s, nonblock=False)
# defaulttimeout # defaulttimeout
t = socket.getdefaulttimeout() t = socket.getdefaulttimeout()

View File

@ -2209,7 +2209,7 @@ class ThreadedEchoServer(threading.Thread):
self.running = False self.running = False
self.sock = connsock self.sock = connsock
self.addr = addr self.addr = addr
self.sock.setblocking(1) self.sock.setblocking(True)
self.sslconn = None self.sslconn = None
threading.Thread.__init__(self) threading.Thread.__init__(self)
self.daemon = True self.daemon = True
@ -3255,7 +3255,7 @@ class ThreadedTests(unittest.TestCase):
wrapped = False wrapped = False
with server: with server:
s = socket.socket() s = socket.socket()
s.setblocking(1) s.setblocking(True)
s.connect((HOST, server.port)) s.connect((HOST, server.port))
if support.verbose: if support.verbose:
sys.stdout.write("\n") sys.stdout.write("\n")

View File

@ -79,24 +79,24 @@ class CreationTestCase(unittest.TestCase):
def testTimeoutThenBlocking(self): def testTimeoutThenBlocking(self):
# Test settimeout() followed by setblocking() # Test settimeout() followed by setblocking()
self.sock.settimeout(10) self.sock.settimeout(10)
self.sock.setblocking(1) self.sock.setblocking(True)
self.assertEqual(self.sock.gettimeout(), None) self.assertEqual(self.sock.gettimeout(), None)
self.sock.setblocking(0) self.sock.setblocking(False)
self.assertEqual(self.sock.gettimeout(), 0.0) self.assertEqual(self.sock.gettimeout(), 0.0)
self.sock.settimeout(10) self.sock.settimeout(10)
self.sock.setblocking(0) self.sock.setblocking(False)
self.assertEqual(self.sock.gettimeout(), 0.0) self.assertEqual(self.sock.gettimeout(), 0.0)
self.sock.setblocking(1) self.sock.setblocking(True)
self.assertEqual(self.sock.gettimeout(), None) self.assertEqual(self.sock.gettimeout(), None)
def testBlockingThenTimeout(self): def testBlockingThenTimeout(self):
# Test setblocking() followed by settimeout() # Test setblocking() followed by settimeout()
self.sock.setblocking(0) self.sock.setblocking(False)
self.sock.settimeout(1) self.sock.settimeout(1)
self.assertEqual(self.sock.gettimeout(), 1) self.assertEqual(self.sock.gettimeout(), 1)
self.sock.setblocking(1) self.sock.setblocking(True)
self.sock.settimeout(1) self.sock.settimeout(1)
self.assertEqual(self.sock.gettimeout(), 1) self.assertEqual(self.sock.gettimeout(), 1)

View File

@ -146,7 +146,7 @@ recvfrom_into(buffer[, nbytes, [, flags])\n\
sendall(data[, flags]) -- send all data\n\ sendall(data[, flags]) -- send all data\n\
send(data[, flags]) -- send data, may not send all of it\n\ send(data[, flags]) -- send data, may not send all of it\n\
sendto(data[, flags], addr) -- send data to a given address\n\ sendto(data[, flags], addr) -- send data to a given address\n\
setblocking(0 | 1) -- set or clear the blocking I/O flag\n\ setblocking(bool) -- set or clear the blocking I/O flag\n\
getblocking() -- return True if socket is blocking, False if non-blocking\n\ getblocking() -- return True if socket is blocking, False if non-blocking\n\
setsockopt(level, optname, value[, optlen]) -- set socket options\n\ setsockopt(level, optname, value[, optlen]) -- set socket options\n\
settimeout(None | float) -- set or clear the timeout\n\ settimeout(None | float) -- set or clear the timeout\n\