aboutsummaryrefslogtreecommitdiffstats
path: root/fs/9p/mux.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/9p/mux.c')
-rw-r--r--fs/9p/mux.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/fs/9p/mux.c b/fs/9p/mux.c
index 147ceef8e537..c783874a9caf 100644
--- a/fs/9p/mux.c
+++ b/fs/9p/mux.c
@@ -256,7 +256,7 @@ static void v9fs_mux_poll_stop(struct v9fs_mux_data *m)
256 vpt->muxnum--; 256 vpt->muxnum--;
257 if (!vpt->muxnum) { 257 if (!vpt->muxnum) {
258 dprintk(DEBUG_MUX, "destroy proc %p\n", vpt); 258 dprintk(DEBUG_MUX, "destroy proc %p\n", vpt);
259 send_sig(SIGKILL, vpt->task, 1); 259 kthread_stop(vpt->task);
260 vpt->task = NULL; 260 vpt->task = NULL;
261 v9fs_mux_poll_task_num--; 261 v9fs_mux_poll_task_num--;
262 } 262 }
@@ -438,11 +438,8 @@ static int v9fs_poll_proc(void *a)
438 438
439 vpt = a; 439 vpt = a;
440 dprintk(DEBUG_MUX, "start %p %p\n", current, vpt); 440 dprintk(DEBUG_MUX, "start %p %p\n", current, vpt);
441 allow_signal(SIGKILL);
442 while (!kthread_should_stop()) { 441 while (!kthread_should_stop()) {
443 set_current_state(TASK_INTERRUPTIBLE); 442 set_current_state(TASK_INTERRUPTIBLE);
444 if (signal_pending(current))
445 break;
446 443
447 list_for_each_entry_safe(m, mtmp, &vpt->mux_list, mux_list) { 444 list_for_each_entry_safe(m, mtmp, &vpt->mux_list, mux_list) {
448 v9fs_poll_mux(m); 445 v9fs_poll_mux(m);