On Sat, 2 Sep 2000, Mohammad A. Haque wrote:

> replace current->signal with current->pending.signal
> 
> can anyone verify?

I think so, both from reading what the test8-pre2 patch does and from
looking at what smbfs does with current->signal. But it's late so you may
be better off trying the opposite of what I think. :)

Untested patch below for smbfs. Well, it compiles ...

/Urban

--- linux-2.4.0-test8-pre2-orig/fs/smbfs/sock.c Sun Aug 27 13:10:49 2000
+++ linux/fs/smbfs/sock.c       Sun Sep  3 00:58:54 2000
@@ -641,7 +641,7 @@
        DEBUG1("len = %d cmd = 0x%X\n", len, buffer[8]);
 
        spin_lock_irqsave(&current->sigmask_lock, flags);
-       sigpipe = sigismember(&current->signal, SIGPIPE);
+       sigpipe = sigismember(&current->pending.signal, SIGPIPE);
        old_set = current->blocked;
        siginitsetinv(&current->blocked, sigmask(SIGKILL)|sigmask(SIGSTOP));
        recalc_sigpending(current);
@@ -659,7 +659,7 @@
        /* read/write errors are handled by errno */
        spin_lock_irqsave(&current->sigmask_lock, flags);
        if (result == -EPIPE && !sigpipe)
-               sigdelset(&current->signal, SIGPIPE);
+               sigdelset(&current->pending.signal, SIGPIPE);
        current->blocked = old_set;
        recalc_sigpending(current);
        spin_unlock_irqrestore(&current->sigmask_lock, flags);
@@ -821,7 +821,7 @@
                goto bad_conn;
 
        spin_lock_irqsave(&current->sigmask_lock, flags);
-       sigpipe = sigismember(&current->signal, SIGPIPE);
+       sigpipe = sigismember(&current->pending.signal, SIGPIPE);
        old_set = current->blocked;
        siginitsetinv(&current->blocked, sigmask(SIGKILL)|sigmask(SIGSTOP));
        recalc_sigpending(current);
@@ -841,7 +841,7 @@
        /* read/write errors are handled by errno */
        spin_lock_irqsave(&current->sigmask_lock, flags);
        if (result == -EPIPE && !sigpipe)
-               sigdelset(&current->signal, SIGPIPE);
+               sigdelset(&current->pending.signal, SIGPIPE);
        current->blocked = old_set;
        recalc_sigpending(current);
        spin_unlock_irqrestore(&current->sigmask_lock, flags);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to