Re: [PATCH 1/2] select: change do_poll() to return -ERESTARTNOHAND rather than -EINTR
From: Linus Torvalds
Date: Fri Jun 07 2019 - 14:15:28 EST
On Thu, Jun 6, 2019 at 7:09 AM Oleg Nesterov <oleg@xxxxxxxxxx> 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