[Glibc-bsd-commits] r4496 - trunk/glibc-ports/linuxthreads

Petr Salinger ps-guest at alioth.debian.org
Thu May 30 14:07:27 UTC 2013


Author: ps-guest
Date: 2013-05-30 14:07:27 +0000 (Thu, 30 May 2013)
New Revision: 4496

Modified:
   trunk/glibc-ports/linuxthreads/pthread.c
Log:
apply any/local-linuxthreads-kill_other.diff
fixes ruby 1.9 testsuite failure t916 from #542927



Modified: trunk/glibc-ports/linuxthreads/pthread.c
===================================================================
--- trunk/glibc-ports/linuxthreads/pthread.c	2013-05-30 14:06:27 UTC (rev 4495)
+++ trunk/glibc-ports/linuxthreads/pthread.c	2013-05-30 14:07:27 UTC (rev 4496)
@@ -1222,6 +1222,15 @@
   /* Reset the signal handlers behaviour for the signals the
      implementation uses since this would be passed to the new
      process.  */
+#if 1
+  /*
+  do not do it as it is wrong.
+  the __pthread_kill_other_threads_np() is used just before exec,
+  the successfull one resets signals with handler into DFL behaviour anyway (in kernel),
+  the failed one needs the signal handler as before to allow creating of new threads
+  as already noted above
+  */
+#else
   sigemptyset(&sa.sa_mask);
   sa.sa_flags = 0;
   sa.sa_handler = SIG_DFL;
@@ -1229,6 +1238,7 @@
   __libc_sigaction(__pthread_sig_cancel, &sa, NULL);
   if (__pthread_sig_debug > 0)
     __libc_sigaction(__pthread_sig_debug, &sa, NULL);
+#endif
 }
 weak_alias (__pthread_kill_other_threads_np, pthread_kill_other_threads_np)
 




More information about the Glibc-bsd-commits mailing list