--- /usr/tmp/TmpDir.21396-0/linux/linux/kernel/signal.c_1.34 2004-10-22 11:32:22.000000000 -0700 +++ linux/linux/kernel/signal.c 2004-10-22 11:28:47.000000000 -0700 @@ -1617,8 +1617,6 @@ goto relock; } - spin_unlock_irq(¤t->sighand->siglock); - /* * Anything else is fatal, maybe with a core dump. */ @@ -1637,6 +1635,7 @@ const int code = signr | 0x80; BUG_ON(!current->signal->group_exit); BUG_ON(current->signal->group_exit_code != code); + spin_unlock_irq(¤t->sighand->siglock); do_exit(code); /* NOTREACHED */ } @@ -1644,6 +1643,7 @@ /* * Death signals, no core dump. */ + spin_unlock_irq(¤t->sighand->siglock); do_group_exit(signr); /* NOTREACHED */ }