diff options
author | Roland Dreier <rolandd@cisco.com> | 2005-10-24 10:55:29 -0700 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2005-10-24 10:55:29 -0700 |
commit | ec329a135974f1c400214dab02f09584d4beeba9 (patch) | |
tree | 235be754f76f4e7d51975d2434f226cfc75cdd08 /kernel/signal.c | |
parent | bbf207860931b6a033d0fbcd170ae2332c0d8216 (diff) | |
parent | 5d7edb3c1a01310725d86f0d83fb3be45685dc82 (diff) | |
download | kernel_samsung_smdk4412-ec329a135974f1c400214dab02f09584d4beeba9.zip kernel_samsung_smdk4412-ec329a135974f1c400214dab02f09584d4beeba9.tar.gz kernel_samsung_smdk4412-ec329a135974f1c400214dab02f09584d4beeba9.tar.bz2 |
Manual merge of for-linus to upstream (fix conflicts in drivers/infiniband/core/ucm.c)
Diffstat (limited to 'kernel/signal.c')
-rw-r--r-- | kernel/signal.c | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/kernel/signal.c b/kernel/signal.c index 50c9926..f2b96b0 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -397,20 +397,8 @@ void __exit_signal(struct task_struct *tsk) flush_sigqueue(&tsk->pending); if (sig) { /* - * We are cleaning up the signal_struct here. We delayed - * calling exit_itimers until after flush_sigqueue, just in - * case our thread-local pending queue contained a queued - * timer signal that would have been cleared in - * exit_itimers. When that called sigqueue_free, it would - * attempt to re-take the tasklist_lock and deadlock. This - * can never happen if we ensure that all queues the - * timer's signal might be queued on have been flushed - * first. The shared_pending queue, and our own pending - * queue are the only queues the timer could be on, since - * there are no other threads left in the group and timer - * signals are constrained to threads inside the group. + * We are cleaning up the signal_struct here. */ - exit_itimers(sig); exit_thread_group_keys(sig); kmem_cache_free(signal_cachep, sig); } |