diff options
author | James Morris <jmorris@namei.org> | 2009-06-10 21:03:14 -0400 |
---|---|---|
committer | James Morris <jmorris@namei.org> | 2009-06-10 21:03:14 -0400 |
commit | 73fbad283cfbbcf02939bdbda31fc4a30e729cca (patch) | |
tree | 7c89fe13e1b4a2c7f2d60f4ea6eaf69c14bccab7 /kernel/signal.c | |
parent | 769f3e8c384795cc350e2aae27de2a12374d19d4 (diff) | |
parent | 35f2c2f6f6ae13ef23c4f68e6d3073753077ca43 (diff) |
Merge branch 'next' into for-linus
Diffstat (limited to 'kernel/signal.c')
-rw-r--r-- | kernel/signal.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/kernel/signal.c b/kernel/signal.c index d8034737db4c..d2dd9cf5dcc6 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
@@ -249,14 +249,19 @@ void flush_sigqueue(struct sigpending *queue) | |||
249 | /* | 249 | /* |
250 | * Flush all pending signals for a task. | 250 | * Flush all pending signals for a task. |
251 | */ | 251 | */ |
252 | void __flush_signals(struct task_struct *t) | ||
253 | { | ||
254 | clear_tsk_thread_flag(t, TIF_SIGPENDING); | ||
255 | flush_sigqueue(&t->pending); | ||
256 | flush_sigqueue(&t->signal->shared_pending); | ||
257 | } | ||
258 | |||
252 | void flush_signals(struct task_struct *t) | 259 | void flush_signals(struct task_struct *t) |
253 | { | 260 | { |
254 | unsigned long flags; | 261 | unsigned long flags; |
255 | 262 | ||
256 | spin_lock_irqsave(&t->sighand->siglock, flags); | 263 | spin_lock_irqsave(&t->sighand->siglock, flags); |
257 | clear_tsk_thread_flag(t, TIF_SIGPENDING); | 264 | __flush_signals(t); |
258 | flush_sigqueue(&t->pending); | ||
259 | flush_sigqueue(&t->signal->shared_pending); | ||
260 | spin_unlock_irqrestore(&t->sighand->siglock, flags); | 265 | spin_unlock_irqrestore(&t->sighand->siglock, flags); |
261 | } | 266 | } |
262 | 267 | ||