diff options
| author | Ingo Molnar <mingo@elte.hu> | 2008-11-12 12:39:21 +0100 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2008-11-12 12:39:21 +0100 |
| commit | 708b8eae0fd532af73ea8350e6dcc10255ff7376 (patch) | |
| tree | f336436934fd79bc91aff7112a9beb10bc4e839f /kernel/exit.c | |
| parent | d98d38f2014ab79f28c126ff175d034891f7aefc (diff) | |
| parent | f21f237cf55494c3a4209de323281a3b0528da10 (diff) | |
Merge branch 'linus' into core/locking
Diffstat (limited to 'kernel/exit.c')
| -rw-r--r-- | kernel/exit.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/exit.c b/kernel/exit.c index 80137a5d946..ae2b92be5fa 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -141,6 +141,11 @@ static void __exit_signal(struct task_struct *tsk) if (sig) { flush_sigqueue(&sig->shared_pending); taskstats_tgid_free(sig); + /* + * Make sure ->signal can't go away under rq->lock, + * see account_group_exec_runtime(). + */ + task_rq_unlock_wait(tsk); __cleanup_signal(sig); } } |
