diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/thread/pthread_cancel.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/thread/pthread_cancel.c b/src/thread/pthread_cancel.c index bf07dbeb..5d458af2 100644 --- a/src/thread/pthread_cancel.c +++ b/src/thread/pthread_cancel.c @@ -61,6 +61,9 @@ static void cancel_handler(int sig, siginfo_t *si, void *ctx) if (self->cancelasync || pc >= (uintptr_t)__cp_begin && pc < (uintptr_t)__cp_end) { uc->uc_mcontext.MC_PC = (uintptr_t)__cp_cancel; +#ifdef CANCEL_GOT + uc->uc_mcontext.MC_GOT = CANCEL_GOT; +#endif return; } |