Commit dd12f48d4e8774415b528d3991ae47c28f26e1ac

Authored by Bhavesh P. Davda
Committed by Linus Torvalds
1 parent ade6648b3b

[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@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Showing 1 changed file with 1 additions and 1 deletions Side-by-side Diff

... ... @@ -692,7 +692,7 @@
692 692 {
693 693 struct task_struct *t;
694 694  
695   - if (p->flags & SIGNAL_GROUP_EXIT)
  695 + if (p->signal->flags & SIGNAL_GROUP_EXIT)
696 696 /*
697 697 * The process is in the middle of dying already.
698 698 */