SOURCES (LINUX_2_6): linux-2.6-nptl-signal-delivery-deadlock.patch...

pluto pluto at pld-linux.org
Thu Aug 18 13:47:19 CEST 2005


Author: pluto                        Date: Thu Aug 18 11:47:19 2005 GMT
Module: SOURCES                       Tag: LINUX_2_6
---- Log message:
- deadlock fix.

---- Files affected:
SOURCES:
   linux-2.6-nptl-signal-delivery-deadlock.patch (NONE -> 1.1.2.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/linux-2.6-nptl-signal-delivery-deadlock.patch
diff -u /dev/null SOURCES/linux-2.6-nptl-signal-delivery-deadlock.patch:1.1.2.1
--- /dev/null	Thu Aug 18 13:47:19 2005
+++ SOURCES/linux-2.6-nptl-signal-delivery-deadlock.patch	Thu Aug 18 13:47:14 2005
@@ -0,0 +1,26 @@
+  [PATCH] NPTL signal delivery deadlock fix
+  
+  This bug is quite subtle and only happens in a very interesting
+  situation where a real-time threaded process is in the middle of a
+  coredump when someone whacks it with a SIGKILL.  However, this deadlock
+  leaves the system pretty hosed and you have to reboot to recover.
+  
+  Not good for real-time priority-preemption applications like our
+  telephony application, with 90+ real-time (SCHED_FIFO and SCHED_RR)
+  processes, many of them multi-threaded, interacting with each other for
+  high volume call processing.
+  
+  Acked-by: Roland McGrath <roland at redhat.com>
+  Signed-off-by: Linus Torvalds <torvalds at osdl.org>
+
+--- a/kernel/signal.c
++++ b/kernel/signal.c
+@@ -692,7 +692,7 @@ static void handle_stop_signal(int sig, 
+ {
+ 	struct task_struct *t;
+ 
+-	if (p->flags & SIGNAL_GROUP_EXIT)
++	if (p->signal->flags & SIGNAL_GROUP_EXIT)
+ 		/*
+ 		 * The process is in the middle of dying already.
+ 		 */
================================================================



More information about the pld-cvs-commit mailing list