On Thu, Jun 6, 2019 at 7:09 AM Oleg Nesterov oleg@redhat.com wrote:
do_poll() returns -EINTR if interrupted and after that all its callers have to translate it into -ERESTARTNOHAND. Change do_poll() to return -ERESTARTNOHAND and update (simplify) the callers.
Ack.
The *right* return value will actually be then chosen by poll_select_copy_remaining(), which will turn ERESTARTNOHAND to EINTR when it can't update the timeout.
Except for the cases that use restart_block and do that instead and don't have the whole timeout restart issue as a result.
Linus