thread/exit problems with glibc 2.2.5

Andreas Schwab schwab@suse.de
Sat Feb 16 15:56:00 GMT 2002


Thorsten Kukuk <kukuk@suse.de> writes:

|> Hi,
|> 
|> I have appended a short test program, which fails with glibc 2.2.5,
|> but works fine with all prior versions.

Please try this patch:

2002-02-17  Andreas Schwab  <schwab@suse.de>

	* signals.c (sigwait): Check for old sighandler being SIG_ERR,
	not NULL.

--- linuxthreads/signals.c.~1.23.~	Mon Jan 14 16:16:45 2002
+++ linuxthreads/signals.c	Sun Feb 17 00:51:41 2002
@@ -198,7 +198,7 @@
         s != __pthread_sig_cancel &&
         s != __pthread_sig_debug) {
       sigdelset(&mask, s);
-      if (sighandler[s].old == NULL ||
+      if (sighandler[s].old == (arch_sighandler_t) SIG_ERR ||
           sighandler[s].old == (arch_sighandler_t) SIG_DFL ||
           sighandler[s].old == (arch_sighandler_t) SIG_IGN) {
         sa.sa_handler = pthread_null_sighandler;

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE GmbH, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



More information about the Libc-hacker mailing list