io-wq: only exit on fatal signals

If the application uses io_uring and also relies heavily on signals
for communication, that can cause io-wq workers to spuriously exit
just because the parent has a signal pending. Just ignore signals
unless they are fatal.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Jens Axboe 2021-09-01 11:18:41 -06:00
parent f95dc207b9
commit 15e20db2e0

View File

@ -575,7 +575,9 @@ loop:
if (!get_signal(&ksig))
continue;
break;
if (fatal_signal_pending(current))
break;
continue;
}
if (ret)
continue;