Save THR_FLAGS_IN_TDLIST in signal frame, otherwise if a thread received
a signal will can not be removed from thread list after it exited. Reviewed by: deischen Approved by: re (jhb)
This commit is contained in:
parent
b2b8c0dde1
commit
9abece6475
@ -893,7 +893,8 @@ static void
|
||||
thr_sigframe_save(struct pthread *thread, struct pthread_sigframe *psf)
|
||||
{
|
||||
/* This has to initialize all members of the sigframe. */
|
||||
psf->psf_flags = thread->flags & THR_FLAGS_PRIVATE;
|
||||
psf->psf_flags =
|
||||
thread->flags & (THR_FLAGS_PRIVATE|THR_FLAGS_IN_TDLIST);
|
||||
psf->psf_interrupted = thread->interrupted;
|
||||
psf->psf_signo = thread->signo;
|
||||
psf->psf_state = thread->state;
|
||||
|
@ -893,7 +893,8 @@ static void
|
||||
thr_sigframe_save(struct pthread *thread, struct pthread_sigframe *psf)
|
||||
{
|
||||
/* This has to initialize all members of the sigframe. */
|
||||
psf->psf_flags = thread->flags & THR_FLAGS_PRIVATE;
|
||||
psf->psf_flags =
|
||||
thread->flags & (THR_FLAGS_PRIVATE|THR_FLAGS_IN_TDLIST);
|
||||
psf->psf_interrupted = thread->interrupted;
|
||||
psf->psf_signo = thread->signo;
|
||||
psf->psf_state = thread->state;
|
||||
|
Loading…
Reference in New Issue
Block a user