diff options
author | Victor Stinner <vstinner@python.org> | 2020-04-02 22:40:25 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-02 22:40:25 (GMT) |
commit | 7a51a7e19f0143f75f8fc9ff68f93ed40937aec6 (patch) | |
tree | a716f19384fc31145ea61fb5579b4774d873d2d2 /Lib/test/test_pty.py | |
parent | 3c3aa4516c70753de06bb142b6793d01330fcf0f (diff) | |
download | cpython-7a51a7e19f0143f75f8fc9ff68f93ed40937aec6.zip cpython-7a51a7e19f0143f75f8fc9ff68f93ed40937aec6.tar.gz cpython-7a51a7e19f0143f75f8fc9ff68f93ed40937aec6.tar.bz2 |
bpo-40140: test_builtin.PtyTests registers SIGHUP handler (GH-19314)
test_builtin.PtyTests now registers an handler for SIGHUP signal.
Closing the PTY file descriptor can emit a SIGHUP signal: just ignore
it.
run_child() now also closes the PTY file descriptor before waiting
for the process completition, otherwise the test hangs on AIX.
Diffstat (limited to 'Lib/test/test_pty.py')
-rw-r--r-- | Lib/test/test_pty.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Lib/test/test_pty.py b/Lib/test/test_pty.py index aa5c687..9c32467 100644 --- a/Lib/test/test_pty.py +++ b/Lib/test/test_pty.py @@ -70,7 +70,7 @@ class PtyTest(unittest.TestCase): self.addCleanup(signal.signal, signal.SIGALRM, old_alarm) old_sighup = signal.signal(signal.SIGHUP, self.handle_sighup) - self.addCleanup(signal.signal, signal.SIGHUP, old_alarm) + self.addCleanup(signal.signal, signal.SIGHUP, old_sighup) # isatty() and close() can hang on some platforms. Set an alarm # before running the test to make sure we don't hang forever. @@ -81,8 +81,8 @@ class PtyTest(unittest.TestCase): self.fail("isatty hung") @staticmethod - def handle_sighup(sig, frame): - # if the process is the session leader, os.close(master_fd) + def handle_sighup(signum, frame): + # bpo-38547: if the process is the session leader, os.close(master_fd) # of "master_fd, slave_name = pty.master_open()" raises SIGHUP # signal: just ignore the signal. pass |