worker_thread() doesn't need to "Block and flush all signals", this was already
done by its caller, kthread().
Signed-off-by: Oleg Nesterov <[email protected]>
--- 6.20-rc6-mm3/kernel/workqueue.c~signals 2007-02-20 02:21:11.000000000 +0300
+++ 6.20-rc6-mm3/kernel/workqueue.c 2007-02-28 23:58:11.000000000 +0300
@@ -290,18 +290,11 @@ static int worker_thread(void *__cwq)
struct cpu_workqueue_struct *cwq = __cwq;
DEFINE_WAIT(wait);
struct k_sigaction sa;
- sigset_t blocked;
if (!cwq->wq->freezeable)
current->flags |= PF_NOFREEZE;
set_user_nice(current, -5);
-
- /* Block and flush all signals */
- sigfillset(&blocked);
- sigprocmask(SIG_BLOCK, &blocked, NULL);
- flush_signals(current);
-
/*
* We inherited MPOL_INTERLEAVE from the booting kernel.
* Set MPOL_DEFAULT to insure node local allocations.