From e320ef46a7283517aeba1decc20ffb38ed131281 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 14 Feb 2003 18:33:54 +0000 Subject: Update. * descr.h: Define CANCELING_BIT and CANCELING_BITMASK. Introduce after CANCELTYPE_BIT, move the other bits up. Update CANCEL_RESTMASK. * init.c (sigcancel_handler): Also set CANCELING_BITMASK bit in newval. * pthread_cancel.c (pthread_cancel): Likewise. Also set CANCELING_BIT if asynchronous canceling is enabled. * pthread_join.c (pthread_join): When recognizing circular joins, take into account the other thread might be already canceled. * Makefile (tests): Add tst-join5. * tst-join5.c: New file. --- nptl/init.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nptl/init.c') diff --git a/nptl/init.c b/nptl/init.c index 92afd09546..4d30084efb 100644 --- a/nptl/init.c +++ b/nptl/init.c @@ -130,7 +130,7 @@ sigcancel_handler (int sig __attribute ((unused))) is already set but if the signal is directly send (internally or from another process) is has to be done here. */ int oldval = THREAD_GETMEM (self, cancelhandling); - int newval = oldval | CANCELED_BITMASK; + int newval = oldval | CANCELING_BITMASK | CANCELED_BITMASK; if (oldval == newval || (oldval & EXITING_BITMASK) != 0) /* Already canceled or exiting. */ -- cgit 1.4.1