When running tests ensure the signal mask is empty for processes run in the testing pty

This commit is contained in:
Kovid Goyal 2022-07-10 13:08:20 +05:30
parent f96a13e9e4
commit ed1547938e
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -6,11 +6,12 @@ import io
import os import os
import select import select
import shlex import shlex
import signal
import struct import struct
import sys import sys
import termios import termios
import time import time
from pty import CHILD, fork, STDIN_FILENO, STDOUT_FILENO from pty import CHILD, STDIN_FILENO, STDOUT_FILENO, fork
from unittest import TestCase from unittest import TestCase
from kitty.config import finalize_keys, finalize_mouse_mappings from kitty.config import finalize_keys, finalize_mouse_mappings
@ -223,6 +224,7 @@ class PTY:
if stdout_fd is not None: if stdout_fd is not None:
os.dup2(stdout_fd, STDOUT_FILENO) os.dup2(stdout_fd, STDOUT_FILENO)
os.close(stdout_fd) os.close(stdout_fd)
signal.pthread_sigmask(signal.SIG_SETMASK, ())
os.execvpe(argv[0], argv, env or os.environ) os.execvpe(argv[0], argv, env or os.environ)
if stdin_fd is not None: if stdin_fd is not None:
os.close(stdin_fd) os.close(stdin_fd)