Thanks to visit codestin.com
Credit goes to github.com

Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Doc/howto/sockets.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions Lib/asyncore.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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):
Expand Down
2 changes: 1 addition & 1 deletion Lib/test/test_asyncio/functional.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down
10 changes: 5 additions & 5 deletions Lib/test/test_socket.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down Expand Up @@ -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):
Expand Down Expand Up @@ -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()
Expand Down
4 changes: 2 additions & 2 deletions Lib/test/test_ssl.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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")
Expand Down
12 changes: 6 additions & 6 deletions Lib/test/test_timeout.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
2 changes: 1 addition & 1 deletion Modules/socketmodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -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\
Expand Down