diff options
author | Rich Felker <dalias@aerifal.cx> | 2015-02-16 22:25:50 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2015-02-16 22:25:50 -0500 |
commit | 36d8e972231c397194e513691d09f7d489de0a62 (patch) | |
tree | 3aa144b704432d8b3a07cb69efad989735512c77 /src/thread/pthread_create.c | |
parent | fd850de7524d8b62cd1d340417b665ed9427adae (diff) | |
download | musl-36d8e972231c397194e513691d09f7d489de0a62.tar.gz musl-36d8e972231c397194e513691d09f7d489de0a62.tar.xz musl-36d8e972231c397194e513691d09f7d489de0a62.zip |
make pthread_exit responsible for disabling cancellation
this requirement is tucked away in XSH 2.9.5 Thread Cancellation under the heading Thread Cancellation Cleanup Handlers.
Diffstat (limited to 'src/thread/pthread_create.c')
-rw-r--r-- | src/thread/pthread_create.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/thread/pthread_create.c b/src/thread/pthread_create.c index 64971d56..b6a7a5ef 100644 --- a/src/thread/pthread_create.c +++ b/src/thread/pthread_create.c @@ -23,6 +23,8 @@ _Noreturn void __pthread_exit(void *result) pthread_t self = __pthread_self(); sigset_t set; + self->canceldisable = 1; + self->cancelasync = 0; self->result = result; while (self->cancelbuf) { |