aboutsummaryrefslogtreecommitdiff
path: root/lib/libkse/thread
diff options
context:
space:
mode:
authorBrian Somers <brian@FreeBSD.org>2006-01-03 15:34:27 +0000
committerBrian Somers <brian@FreeBSD.org>2006-01-03 15:34:27 +0000
commit6632abc8dc603a5f9d395f5c17740ba676b6987f (patch)
tree87953498e6bb421d3b684a3f0bbdb47c4a157c8f /lib/libkse/thread
parentfdd3cfa0aa03c94a78e48ee46e840e2ec9cb41a7 (diff)
downloadsrc-6632abc8dc603a5f9d395f5c17740ba676b6987f.tar.gz
src-6632abc8dc603a5f9d395f5c17740ba676b6987f.zip
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
Notes
Notes: svn path=/head/; revision=153989
Diffstat (limited to 'lib/libkse/thread')
-rw-r--r--lib/libkse/thread/thr_kern.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libkse/thread/thr_kern.c b/lib/libkse/thread/thr_kern.c
index be763c240104..ae3a2ff0bebe 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;
/*