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(&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);

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(&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);

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/