Commit d7c13896 authored by Alan Cox's avatar Alan Cox Committed by Linus Torvalds

[PATCH] make jffs/jffs2 work with signal changes

parent 176dbba5
...@@ -3376,10 +3376,13 @@ jffs_garbage_collect_thread(void *ptr) ...@@ -3376,10 +3376,13 @@ jffs_garbage_collect_thread(void *ptr)
*/ */
while (signal_pending(current)) { while (signal_pending(current)) {
siginfo_t info; siginfo_t info;
unsigned long signr; unsigned long signr = 0;
spin_lock_irq(&current->sig->siglock); spin_lock_irq(&current->sig->siglock);
signr = dequeue_signal(&current->blocked, &info); if (current->sig->shared_pending.head)
signr = dequeue_signal(&current->sig->shared_pending, &current->blocked, &info);
if (!signr)
signr = dequeue_signal(&current->pending, &current->blocked, &info);
spin_unlock_irq(&current->sig->siglock); spin_unlock_irq(&current->sig->siglock);
switch(signr) { switch(signr) {
......
...@@ -112,10 +112,13 @@ static int jffs2_garbage_collect_thread(void *_c) ...@@ -112,10 +112,13 @@ static int jffs2_garbage_collect_thread(void *_c)
*/ */
while (signal_pending(current)) { while (signal_pending(current)) {
siginfo_t info; siginfo_t info;
unsigned long signr; unsigned long signr = 0 ;
spin_lock_irq(&current->sig->siglock); spin_lock_irq(&current->sig->siglock);
signr = dequeue_signal(&current->blocked, &info); if (current->sig->shared_pending.head)
signr = dequeue_signal(&current->sig->shared_pending, &current->blocked, &info);
if (!signr)
signr = dequeue_signal(&current->pending, &current->blocked, &info);
spin_unlock_irq(&current->sig->siglock); spin_unlock_irq(&current->sig->siglock);
switch(signr) { switch(signr) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment