From: Tom Hughes Date: Tue, 16 Nov 2004 12:09:43 +0000 (+0000) Subject: Use sigprocmask(SIG_SETMASK) to make sure the signal mask is in a X-Git-Tag: svn/VALGRIND_3_0_0~1292 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a8d21d440f57d822269fd7e6375ed4e93fcc21a3;p=thirdparty%2Fvalgrind.git Use sigprocmask(SIG_SETMASK) to make sure the signal mask is in a known state before performing the test. This is done because perl on some systems leaves some signals blocked when starting child processes which can cause this test to fail. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3021 --- diff --git a/memcheck/tests/sigprocmask.c b/memcheck/tests/sigprocmask.c index dc00102ed2..2817901b6c 100644 --- a/memcheck/tests/sigprocmask.c +++ b/memcheck/tests/sigprocmask.c @@ -21,6 +21,12 @@ int main(void) s = &x[1]; os = &x[4]; + // Make sure the system is in a known state with no signals + // blocked as perl has been known to leave some signals blocked + // when starting child processes which can cause failures in + // this test unless we reset things here. + syscall(__NR_sigprocmask, SIG_SETMASK, os, NULL); + fprintf(stderr, "before\n"); for (i = 0; i < 6; i++) { fprintf(stderr, "%x ", x[i]);