From 5bd7e261b6e2fff0674d2125c222ae7ae30dbe35 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 18 Jul 2018 17:43:57 +0200 Subject: [PATCH] bpo-34130: Fix test_signal.test_socket() (GH-8326) 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 8d6386793d4a57..5565eb745caf12 100644 --- a/Lib/test/test_signal.py +++ b/Lib/test/test_signal.py @@ -370,7 +370,6 @@ def handler(signum, frame): signal.signal(signum, handler) read, write = socket.socketpair() - read.setblocking(False) write.setblocking(False) signal.set_wakeup_fd(write.fileno())