PATCH: make jffs/jffs2 work with signal changes
Alan Cox (alan@lxorguk.ukuu.org.uk)
Sun, 6 Oct 2002 18:18:55 +0100 (BST)
diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.2.5.40/fs/jffs/intrep.c linux.2.5.40-ac5/fs/jffs/intrep.c
--- linux.2.5.40/fs/jffs/intrep.c	2002-10-02 21:34:06.000000000 +0100
+++ linux.2.5.40-ac5/fs/jffs/intrep.c	2002-10-04 15:39:36.000000000 +0100
@@ -3376,10 +3376,13 @@
 		 */
 		while (signal_pending(current)) {
 			siginfo_t info;
-			unsigned long signr;
+			unsigned long signr = 0;
 
 			spin_lock_irq(¤t->sig->siglock);
-			signr = dequeue_signal(¤t->blocked, &info);
+			if (current->sig->shared_pending.head)
+				signr = dequeue_signal(¤t->sig->shared_pending, ¤t->blocked, &info);
+			if (!signr)
+				signr = dequeue_signal(¤t->pending, ¤t->blocked, &info);
 			spin_unlock_irq(¤t->sig->siglock);
 
 			switch(signr) {
diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.2.5.40/fs/jffs2/background.c linux.2.5.40-ac5/fs/jffs2/background.c
--- linux.2.5.40/fs/jffs2/background.c	2002-10-02 21:34:06.000000000 +0100
+++ linux.2.5.40-ac5/fs/jffs2/background.c	2002-10-04 15:46:29.000000000 +0100
@@ -112,10 +112,13 @@
                  */
                 while (signal_pending(current)) {
                         siginfo_t info;
-                        unsigned long signr;
+                        unsigned long signr = 0 ;
 
                         spin_lock_irq(¤t->sig->siglock);
-                        signr = dequeue_signal(¤t->blocked, &info);
+			if (current->sig->shared_pending.head)
+				signr = dequeue_signal(¤t->sig->shared_pending, ¤t->blocked, &info);
+			if (!signr)
+				signr = dequeue_signal(¤t->pending, ¤t->blocked, &info);
                         spin_unlock_irq(¤t->sig->siglock);
 
                         switch(signr) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/