* [PATCH] kupdated signal handling
@ 2003-10-07 18:33 Benjamin Herrenschmidt
0 siblings, 0 replies; only message in thread
From: Benjamin Herrenschmidt @ 2003-10-07 18:33 UTC (permalink / raw)
To: Marcelo Tosatti; +Cc: Linux Kernel list, Andrea Arcangeli
Here's the fix to the problem we have been discussing...
===== fs/buffer.c 1.80 vs edited =====
--- 1.80/fs/buffer.c Sat Sep 13 20:09:44 2003
+++ edited/fs/buffer.c Wed Oct 1 11:27:07 2003
@@ -3068,13 +3068,13 @@
remove_wait_queue(&kupdate_wait, &wait);
/* check for sigstop */
if (signal_pending(tsk)) {
- int stopped = 0;
+ int sig, stopped = 0;
+ struct siginfo info;
+
spin_lock_irq(&tsk->sigmask_lock);
- if (sigismember(&tsk->pending.signal, SIGSTOP)) {
- sigdelset(&tsk->pending.signal, SIGSTOP);
+ sig = dequeue_signal(¤t->blocked, &info);
+ if (sig == SIGSTOP)
stopped = 1;
- }
- recalc_sigpending(tsk);
spin_unlock_irq(&tsk->sigmask_lock);
if (stopped) {
tsk->state = TASK_STOPPED;
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2003-10-07 18:34 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-10-07 18:33 [PATCH] kupdated signal handling Benjamin Herrenschmidt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®