]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.14] gh-154416: Fix hanging test_tcflow on DragonFly BSD (GH-154417) (GH-154422)
authorSerhiy Storchaka <storchaka@gmail.com>
Wed, 22 Jul 2026 05:54:58 +0000 (08:54 +0300)
committerGitHub <noreply@github.com>
Wed, 22 Jul 2026 05:54:58 +0000 (05:54 +0000)
TCIOFF and TCION transmit STOP and START characters, and closing the
pseudo-terminal waits until they are read.  Discard them.
(cherry picked from commit b0c945a27e708419c6845234ef633ce3f7c4c41e)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Lib/test/test_termios.py

index 4d43bd97bb38a98b1cc9341be3f724e7d7459780..aa8927c1ba7ea23e51193240a1266867f524e4ac 100644 (file)
@@ -180,6 +180,9 @@ class TestFunctions(unittest.TestCase):
         termios.tcflow(self.fd, termios.TCOON)
         termios.tcflow(self.fd, termios.TCIOFF)
         termios.tcflow(self.fd, termios.TCION)
+        # Discard the transmitted STOP and START characters,
+        # otherwise closing the pseudo-terminal can block.
+        termios.tcflush(self.fd, termios.TCOFLUSH)
 
     @support.skip_android_selinux('tcflow')
     def test_tcflow_errors(self):