提交 dd12f48d 编写于 作者: B Bhavesh P. Davda 提交者: Linus Torvalds

[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: NRoland McGrath <roland@redhat.com>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 ade6648b
...@@ -692,7 +692,7 @@ static void handle_stop_signal(int sig, struct task_struct *p) ...@@ -692,7 +692,7 @@ static void handle_stop_signal(int sig, struct task_struct *p)
{ {
struct task_struct *t; 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. * The process is in the middle of dying already.
*/ */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册