kupdated signal handling
PATCH 1/1 kupdated signal handling
Here's the fix to the problem we have been discussing...
===== fs/buffer.c 1.80 vs edited =====
fs/buffer.c +5 -5
@@ -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 ;