Unmask all signals in vgdb, as the process that launches vgdb
might have masked some.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14691 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/vgdb.c b/coregrind/vgdb.c
index 8aa70f6..82639cc 100644
--- a/coregrind/vgdb.c
+++ b/coregrind/vgdb.c
@@ -751,6 +751,11 @@
to cleanup. */
if (sigaction (SIGALRM, &action, &oldaction) != 0)
XERROR (errno, "vgdb error sigaction SIGALRM\n");
+
+ /* unmask all signals, in case the process that launched vgdb
+ masked some. */
+ if (sigprocmask (SIG_SETMASK, &action.sa_mask, NULL) != 0)
+ XERROR (errno, "vgdb error sigprocmask");
}
/* close the FIFOs provided connections, terminate the invoker thread. */