diff options
Diffstat (limited to 'linuxthreads/ptlongjmp.c')
-rw-r--r-- | linuxthreads/ptlongjmp.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/linuxthreads/ptlongjmp.c b/linuxthreads/ptlongjmp.c index c5704f9e9a..580ae93f88 100644 --- a/linuxthreads/ptlongjmp.c +++ b/linuxthreads/ptlongjmp.c @@ -37,6 +37,8 @@ static void pthread_cleanup_upto(__jmp_buf target) c = c->prev) c->routine(c->arg); self->p_cleanup = c; + if (self->p_in_sighandler && _JMPBUF_UNWINDS(target, self->p_in_sighandler)) + self->p_in_sighandler = NULL; } void siglongjmp(sigjmp_buf env, int val) |