aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@tv-sign.ru>2006-03-28 19:11:23 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-28 21:36:43 -0500
commitaacc90944d4b1f2fcec73a8127eb60a3a701ce1c (patch)
tree34b8977a00913e46858d918fd437143882c66ee3
parenta122b341b74c08020f6521b615acca6a692aac79 (diff)
[PATCH] do_group_exit: don't take tasklist_lock
do_group_exit() takes tasklist_lock for zap_other_threads(), this is unneeded now. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--kernel/exit.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/kernel/exit.c b/kernel/exit.c
index 44d6c6e3896d..aea23e713cf4 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -985,7 +985,6 @@ do_group_exit(int exit_code)
985 else if (!thread_group_empty(current)) { 985 else if (!thread_group_empty(current)) {
986 struct signal_struct *const sig = current->signal; 986 struct signal_struct *const sig = current->signal;
987 struct sighand_struct *const sighand = current->sighand; 987 struct sighand_struct *const sighand = current->sighand;
988 read_lock(&tasklist_lock);
989 spin_lock_irq(&sighand->siglock); 988 spin_lock_irq(&sighand->siglock);
990 if (sig->flags & SIGNAL_GROUP_EXIT) 989 if (sig->flags & SIGNAL_GROUP_EXIT)
991 /* Another thread got here before we took the lock. */ 990 /* Another thread got here before we took the lock. */
@@ -995,7 +994,6 @@ do_group_exit(int exit_code)
995 zap_other_threads(current); 994 zap_other_threads(current);
996 } 995 }
997 spin_unlock_irq(&sighand->siglock); 996 spin_unlock_irq(&sighand->siglock);
998 read_unlock(&tasklist_lock);
999 } 997 }
1000 998
1001 do_exit(exit_code); 999 do_exit(exit_code);