Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5d9c720678f9b4ed3db86466223dc61cbf78361d
Commit:     5d9c720678f9b4ed3db86466223dc61cbf78361d
Parent:     ffdd6e4d1685779a413e4a8d753b1862259ed42a
Author:     Jeff <[EMAIL PROTECTED]>
AuthorDate: Mon Jun 25 22:16:35 2007 +0000
Committer:  Steve French <[EMAIL PROTECTED]>
CommitDate: Mon Jun 25 22:16:35 2007 +0000

    [CIFS] Do not allow signals in cifs_demultiplex_thread
    
    Switch from send_sig to force_sig and do not allow signal for this
    background thread (the signal is needed to wakeup the thread when
    blocked in the network stack).
    
    Signed-off-by: Jeff Layton <[EMAIL PROTECTED]>
    Signed-off-by: Steve French <[EMAIL PROTECTED]>
---
 fs/cifs/connect.c |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 4a2af78..cf60691 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -348,7 +348,6 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server)
        int isMultiRsp;
        int reconnect;
 
-       allow_signal(SIGKILL);
        current->flags |= PF_MEMALLOC;
        server->tsk = current;  /* save process info to wake at shutdown */
        cFYI(1, ("Demultiplex PID: %d", current->pid));
@@ -2089,7 +2088,7 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info 
*cifs_sb,
                                   always wake up processes blocked in
                                   tcp in recv_mesg then we could remove the
                                   send_sig call */
-                               send_sig(SIGKILL,srvTcp->tsk,1);
+                               force_sig(SIGKILL,srvTcp->tsk);
                                tsk = srvTcp->tsk;
                                if(tsk)
                                        kthread_stop(tsk);
@@ -2106,9 +2105,11 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info 
*cifs_sb,
                                        temp_rc = CIFSSMBLogoff(xid, pSesInfo);
                                        /* if the socketUseCount is now zero */
                                        if ((temp_rc == -ESHUTDOWN) &&
-                                          (pSesInfo->server) && 
(pSesInfo->server->tsk)) {
+                                           (pSesInfo->server) && 
+                                           (pSesInfo->server->tsk)) {
                                                struct task_struct *tsk;
-                                               
send_sig(SIGKILL,pSesInfo->server->tsk,1);
+                                               force_sig(SIGKILL,
+                                                       pSesInfo->server->tsk);
                                                tsk = pSesInfo->server->tsk;
                                                if (tsk)
                                                        kthread_stop(tsk);
@@ -3364,9 +3365,9 @@ cifs_umount(struct super_block *sb, struct cifs_sb_info 
*cifs_sb)
                                FreeXid(xid);
                                return 0;
                        } else if (rc == -ESHUTDOWN) {
-                               cFYI(1,("Waking up socket by sending it 
signal"));
+                               cFYI(1,("Waking up socket by sending signal"));
                                if (cifsd_task) {
-                                       send_sig(SIGKILL,cifsd_task,1);
+                                       force_sig(SIGKILL,cifsd_task);
                                        kthread_stop(cifsd_task);
                                }
                                rc = 0;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to