|
@@ -2366,10 +2366,11 @@ static int rcu_nocb_kthread(void *arg)
|
|
|
for (;;) {
|
|
|
/* If not polling, wait for next batch of callbacks. */
|
|
|
if (!rcu_nocb_poll)
|
|
|
- wait_event(rdp->nocb_wq, rdp->nocb_head);
|
|
|
+ wait_event_interruptible(rdp->nocb_wq, rdp->nocb_head);
|
|
|
list = ACCESS_ONCE(rdp->nocb_head);
|
|
|
if (!list) {
|
|
|
schedule_timeout_interruptible(1);
|
|
|
+ flush_signals(current);
|
|
|
continue;
|
|
|
}
|
|
|
|