diff options
author | brian <brian@FreeBSD.org> | 2006-01-03 15:34:27 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 2006-01-03 15:34:27 +0000 |
commit | 9105db3d2726214d0faf593e5669709b899b0caa (patch) | |
tree | 87953498e6bb421d3b684a3f0bbdb47c4a157c8f /lib/libkse/thread | |
parent | 437ca548c4813360f18fa4cd49ae7085434dcf56 (diff) | |
download | FreeBSD-src-9105db3d2726214d0faf593e5669709b899b0caa.zip FreeBSD-src-9105db3d2726214d0faf593e5669709b899b0caa.tar.gz |
For the ``#ifdef NOTYET'' code that allows calling non-async-safe
functions in the child after a fork() from a threaded process,
use __sys_setprocmask() rather than setprocmask() to keep our
signal handling sane. Without this fix, signals are essentially
ignored in said child and things such as protection violations
result in an endless busy loop.
Reviewed by: deischen
Diffstat (limited to 'lib/libkse/thread')
-rw-r--r-- | lib/libkse/thread/thr_kern.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libkse/thread/thr_kern.c b/lib/libkse/thread/thr_kern.c index be763c2..ae3a2ff 100644 --- a/lib/libkse/thread/thr_kern.c +++ b/lib/libkse/thread/thr_kern.c @@ -225,7 +225,7 @@ _kse_single_thread(struct pthread *curthread) * Restore signal mask early, so any memory problems could * dump core. */ - sigprocmask(SIG_SETMASK, &curthread->sigmask, NULL); + __sys_sigprocmask(SIG_SETMASK, &curthread->sigmask, NULL); _thread_active_threads = 1; /* |