summaryrefslogtreecommitdiff
path: root/lib/drmtest.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/drmtest.c')
-rw-r--r--lib/drmtest.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/drmtest.c b/lib/drmtest.c
index 6f5b06c3..765dadce 100644
--- a/lib/drmtest.c
+++ b/lib/drmtest.c
@@ -1129,6 +1129,7 @@ static void fork_helper_exit_handler(int sig)
bool __igt_fork_helper(struct igt_helper_process *proc)
{
pid_t pid;
+ sighandler_t oldsig;
int id;
assert(!proc->running);
@@ -1145,6 +1146,7 @@ bool __igt_fork_helper(struct igt_helper_process *proc)
* that inserting sufficient amounts of printf or other delays makes
* this unnecessary.
*/
+ oldsig = signal(SIGQUIT, SIG_DFL);
switch (pid = fork()) {
case -1:
igt_assert(0);
@@ -1155,6 +1157,8 @@ bool __igt_fork_helper(struct igt_helper_process *proc)
return true;
default:
+ signal(SIGQUIT, oldsig);
+
proc->running = true;
proc->pid = pid;
proc->id = id;