diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/9p/mux.c | 5 |
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); |