From 2fbba8b1b8bb917a79491c08fa1c533f7d71cfc1 Mon Sep 17 00:00:00 2001 From: Daniel Eischen Date: Sun, 22 Oct 2000 18:35:11 +0000 Subject: [PATCH] We use ___setjmp (non-signal saving) to setup a signal frame. When adding a signal frame to a thread, be sure to label the context correctly so we don't restore an uninitialized process mask. Reported by: kimc@W8HD.ORG and Andrey Rouskol --- lib/libc_r/uthread/uthread_sig.c | 2 +- lib/libkse/thread/thr_sig.c | 2 +- lib/libpthread/thread/thr_sig.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/libc_r/uthread/uthread_sig.c b/lib/libc_r/uthread/uthread_sig.c index 8a9aadf177f6..b2b8c92a9dbf 100644 --- a/lib/libc_r/uthread/uthread_sig.c +++ b/lib/libc_r/uthread/uthread_sig.c @@ -1046,7 +1046,7 @@ thread_sigframe_add(pthread_t thread, int sig) (struct pthread_signal_frame *) stackp; thread->curframe = thread->sigframes[thread->sigframe_count]; thread->curframe->stackp = stackp; - thread->curframe->ctxtype = CTX_JB; + thread->curframe->ctxtype = CTX_JB_NOSIG; thread->curframe->longjmp_val = 1; thread->curframe->signo = sig; diff --git a/lib/libkse/thread/thr_sig.c b/lib/libkse/thread/thr_sig.c index 8a9aadf177f6..b2b8c92a9dbf 100644 --- a/lib/libkse/thread/thr_sig.c +++ b/lib/libkse/thread/thr_sig.c @@ -1046,7 +1046,7 @@ thread_sigframe_add(pthread_t thread, int sig) (struct pthread_signal_frame *) stackp; thread->curframe = thread->sigframes[thread->sigframe_count]; thread->curframe->stackp = stackp; - thread->curframe->ctxtype = CTX_JB; + thread->curframe->ctxtype = CTX_JB_NOSIG; thread->curframe->longjmp_val = 1; thread->curframe->signo = sig; diff --git a/lib/libpthread/thread/thr_sig.c b/lib/libpthread/thread/thr_sig.c index 8a9aadf177f6..b2b8c92a9dbf 100644 --- a/lib/libpthread/thread/thr_sig.c +++ b/lib/libpthread/thread/thr_sig.c @@ -1046,7 +1046,7 @@ thread_sigframe_add(pthread_t thread, int sig) (struct pthread_signal_frame *) stackp; thread->curframe = thread->sigframes[thread->sigframe_count]; thread->curframe->stackp = stackp; - thread->curframe->ctxtype = CTX_JB; + thread->curframe->ctxtype = CTX_JB_NOSIG; thread->curframe->longjmp_val = 1; thread->curframe->signo = sig;