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

Serhiy Storchaka webhook-mailer at python.org
Sun Sep 1 05:12:55 EDT 2019


https://github.com/python/cpython/commit/5eca7f3f3836cc734dfe8dc5ec669f3b4e9333fe
commit: 5eca7f3f3836cc734dfe8dc5ec669f3b4e9333fe
branch: master
author: Serhiy Storchaka <storchaka at gmail.com>
committer: GitHub <noreply at github.com>
date: 2019-09-01T12:12:52+03:00
summary:

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

files:
M Doc/howto/sockets.rst
M Lib/asyncore.py
M Lib/test/test_asyncio/functional.py
M Lib/test/test_socket.py
M Lib/test/test_ssl.py
M Lib/test/test_timeout.py
M Modules/socketmodule.c

diff --git a/Doc/howto/sockets.rst b/Doc/howto/sockets.rst
index bc71d85a83e9..4655f2806089 100644
--- a/Doc/howto/sockets.rst
+++ b/Doc/howto/sockets.rst
@@ -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
 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
 ``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
diff --git a/Lib/asyncore.py b/Lib/asyncore.py
index 0e92be3ad191..ce16f11a2f5c 100644
--- a/Lib/asyncore.py
+++ b/Lib/asyncore.py
@@ -228,7 +228,7 @@ def __init__(self, sock=None, map=None):
         if sock:
             # Set to nonblocking just to make sure for cases where we
             # get a socket from a blocking source.
-            sock.setblocking(0)
+            sock.setblocking(False)
             self.set_socket(sock, map)
             self.connected = True
             # The constructor no longer requires that the socket
@@ -280,7 +280,7 @@ def del_channel(self, map=None):
     def create_socket(self, family=socket.AF_INET, type=socket.SOCK_STREAM):
         self.family_and_type = family, type
         sock = socket.socket(family, type)
-        sock.setblocking(0)
+        sock.setblocking(False)
         self.set_socket(sock)
 
     def set_socket(self, sock, map=None):
diff --git a/Lib/test/test_asyncio/functional.py b/Lib/test/test_asyncio/functional.py
index 70cd140f4796..4620d3e7a331 100644
--- a/Lib/test/test_asyncio/functional.py
+++ b/Lib/test/test_asyncio/functional.py
@@ -225,7 +225,7 @@ def stop(self):
     def run(self):
         try:
             with self._sock:
-                self._sock.setblocking(0)
+                self._sock.setblocking(False)
                 self._run()
         finally:
             self._s1.close()
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index ce816cd603ec..14ff561da94f 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -4597,7 +4597,7 @@ def _testInheritFlagsTimeout(self):
 
     def testAccept(self):
         # Testing non-blocking accept
-        self.serv.setblocking(0)
+        self.serv.setblocking(False)
 
         # connect() didn't start: non-blocking accept() fails
         start_time = time.monotonic()
@@ -4628,7 +4628,7 @@ def testRecv(self):
         # Testing non-blocking recv
         conn, addr = self.serv.accept()
         self.addCleanup(conn.close)
-        conn.setblocking(0)
+        conn.setblocking(False)
 
         # the server didn't send data yet: non-blocking recv() fails
         with self.assertRaises(BlockingIOError):
@@ -5698,15 +5698,15 @@ def test_SOCK_NONBLOCK(self):
         with socket.socket(socket.AF_INET,
                            socket.SOCK_STREAM | socket.SOCK_NONBLOCK) as s:
             self.checkNonblock(s)
-            s.setblocking(1)
+            s.setblocking(True)
             self.checkNonblock(s, nonblock=False)
-            s.setblocking(0)
+            s.setblocking(False)
             self.checkNonblock(s)
             s.settimeout(None)
             self.checkNonblock(s, nonblock=False)
             s.settimeout(2.0)
             self.checkNonblock(s, timeout=2.0)
-            s.setblocking(1)
+            s.setblocking(True)
             self.checkNonblock(s, nonblock=False)
         # defaulttimeout
         t = socket.getdefaulttimeout()
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index afc5be9a7e99..6ad0b61d8a57 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -2209,7 +2209,7 @@ def __init__(self, server, connsock, addr):
             self.running = False
             self.sock = connsock
             self.addr = addr
-            self.sock.setblocking(1)
+            self.sock.setblocking(True)
             self.sslconn = None
             threading.Thread.__init__(self)
             self.daemon = True
@@ -3255,7 +3255,7 @@ def test_starttls(self):
         wrapped = False
         with server:
             s = socket.socket()
-            s.setblocking(1)
+            s.setblocking(True)
             s.connect((HOST, server.port))
             if support.verbose:
                 sys.stdout.write("\n")
diff --git a/Lib/test/test_timeout.py b/Lib/test/test_timeout.py
index b07c07cbfc4d..0fe4c7ab6e75 100644
--- a/Lib/test/test_timeout.py
+++ b/Lib/test/test_timeout.py
@@ -79,24 +79,24 @@ def testRangeCheck(self):
     def testTimeoutThenBlocking(self):
         # Test settimeout() followed by setblocking()
         self.sock.settimeout(10)
-        self.sock.setblocking(1)
+        self.sock.setblocking(True)
         self.assertEqual(self.sock.gettimeout(), None)
-        self.sock.setblocking(0)
+        self.sock.setblocking(False)
         self.assertEqual(self.sock.gettimeout(), 0.0)
 
         self.sock.settimeout(10)
-        self.sock.setblocking(0)
+        self.sock.setblocking(False)
         self.assertEqual(self.sock.gettimeout(), 0.0)
-        self.sock.setblocking(1)
+        self.sock.setblocking(True)
         self.assertEqual(self.sock.gettimeout(), None)
 
     def testBlockingThenTimeout(self):
         # Test setblocking() followed by settimeout()
-        self.sock.setblocking(0)
+        self.sock.setblocking(False)
         self.sock.settimeout(1)
         self.assertEqual(self.sock.gettimeout(), 1)
 
-        self.sock.setblocking(1)
+        self.sock.setblocking(True)
         self.sock.settimeout(1)
         self.assertEqual(self.sock.gettimeout(), 1)
 
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index d4f2098e1e6f..3548b0c87875 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -146,7 +146,7 @@ recvfrom_into(buffer[, nbytes, [, flags])\n\
 sendall(data[, flags]) -- send all data\n\
 send(data[, flags]) -- send data, may not send all of it\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\
 setsockopt(level, optname, value[, optlen]) -- set socket options\n\
 settimeout(None | float) -- set or clear the timeout\n\



More information about the Python-checkins mailing list