From e13180bc4c40a9ac300590c62a6efbcaf10ae6df Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 18 Jul 2018 10:02:06 -0700 Subject: [PATCH] bpo-34130: Fix test_signal.test_socket() (GH-8326) (GH-8330) test_signal.test_socket(): On Windows, sometimes even if the C signal handler succeed to write the signal number into the write end of the socketpair, the test fails with a BlockingIOError on the non-blocking read.recv(1) because the read end of the socketpair didn't receive the byte yet. Fix the race condition on Windows by setting the read end as blocking. (cherry picked from commit 99bb6df66a42625367c4f38e6802c8bb527baf4a) Co-authored-by: Victor Stinner --- Lib/test/test_signal.py | 1 - 1 file changed, 1 deletion(-) diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py index 8d6386793d..5565eb745c 100644 --- a/Lib/test/test_signal.py +++ b/Lib/test/test_signal.py @@ -370,7 +370,6 @@ class WakeupSocketSignalTests(unittest.TestCase): signal.signal(signum, handler) read, write = socket.socketpair() - read.setblocking(False) write.setblocking(False) signal.set_wakeup_fd(write.fileno()) -- 2.40.0