diff --git a/pkgs/racket-test-core/tests/racket/unix_check.c b/pkgs/racket-test-core/tests/racket/unix_check.c index 95cb4cd351..fd75443ac9 100644 --- a/pkgs/racket-test-core/tests/racket/unix_check.c +++ b/pkgs/racket-test-core/tests/racket/unix_check.c @@ -12,9 +12,13 @@ int main() /* SIGPROF tends to be near the end of the range of signal IDs */ for (i = 1; i < SIGPROF; i++) { - sigaction(i, NULL, &sa); - if (sa.sa_handler != SIG_DFL) - return 1; + if (sigaction(i, NULL, &sa) == 0) { + if (sa.sa_handler != SIG_DFL) + return 1; + } else { + /* sigaction sometimes isn't allowed at all on SIGKILL, + for example, so ignore that failure */ + } } sigemptyset(&set);