From e7f6efc66e40dadef29371932d24cc99b093e8e5 Mon Sep 17 00:00:00 2001 From: davidxu Date: Tue, 16 Sep 2003 02:03:39 +0000 Subject: Fix a typo. Also turn on PTHREAD_SCOPE_SYSTEM after fork(). --- lib/libpthread/thread/thr_kern.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/libpthread/thread') diff --git a/lib/libpthread/thread/thr_kern.c b/lib/libpthread/thread/thr_kern.c index e3539ab..4c78265 100644 --- a/lib/libpthread/thread/thr_kern.c +++ b/lib/libpthread/thread/thr_kern.c @@ -330,6 +330,7 @@ _kse_single_thread(struct pthread *curthread) */ sigprocmask(SIG_SETMASK, &curthread->sigmask, NULL); curthread->kse->k_kcb->kcb_kmbx.km_curthread = NULL; + curthread->attr.flags |= PTHREAD_SCOPE_SYSTEM; _thr_active_threads = 1; #endif } @@ -1642,7 +1643,7 @@ kse_switchout_thread(struct kse *kse, struct pthread *thread) for (i = 1; i <= _SIG_MAXSIG; ++i) { if (SIGISMEMBER(thread->sigpend, i) && !SIGISMEMBER(thread->sigmask, i)) { - restart = _thread_sigact[1 - 1].sa_flags & SA_RESTART; + restart = _thread_sigact[i - 1].sa_flags & SA_RESTART; kse_thr_interrupt(&thread->tcb->tcb_tmbx, restart ? KSE_INTR_RESTART : KSE_INTR_INTERRUPT, 0); break; -- cgit v1.1