diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-04-04 07:59:55 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-04-04 07:59:55 +0000 |
commit | 86246935dafa15d762e202d39bca55b113c9ee56 (patch) | |
tree | 2b7e017e5ac9cc03cc99ca0d7b3def32590230d4 /nptl/pthreadP.h | |
parent | d9eb687be2a0c684ccc0b67d15f139d94d56b873 (diff) | |
download | glibc-86246935dafa15d762e202d39bca55b113c9ee56.tar.gz glibc-86246935dafa15d762e202d39bca55b113c9ee56.tar.xz glibc-86246935dafa15d762e202d39bca55b113c9ee56.zip |
Update.
2003-04-03 Ulrich Drepper <drepper@redhat.com> * init.c (sigcancel_handler): Don't set EXITING_BIT here. * libc-cancellation.c (__libc_enable_asynccancel): Likewise. * pthreadP.h (__do_cancel): Set EXITING_BIT here. * Makefile (tests): Add tst-cancel11. * tst-cancel11.c: New file.
Diffstat (limited to 'nptl/pthreadP.h')
-rw-r--r-- | nptl/pthreadP.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index d90ac36091..725c87d6bb 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -29,6 +29,7 @@ #include <stackinfo.h> #include <internaltypes.h> #include <pthread-functions.h> +#include <atomic.h> /* Internal variables. */ @@ -149,6 +150,9 @@ __do_cancel (void) { struct pthread *self = THREAD_SELF; + /* Make sure we get no more cancellations. */ + atomic_bit_set (&self->cancelhandling, EXITING_BIT); + /* Throw an exception. */ // XXX TBI |