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

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)