Re: select() setting ERESTARTNOHAND (514).

From: David Miller
Date: Wed Jan 10 2007 - 19:28:08 EST


From: Sean Reifschneider <jafo@xxxxxxxxx>
Date: Wed, 10 Jan 2007 16:42:38 -0700

> In looking at the select() code, I see that there are definitely cases
> where sys_select() or sys_pselect7() can return -ERESTARTNOHAND. However,
> I don't know if this is expected to be caught elsewhere, or if returning it
> here would send it back to user-space. Worse, I don't fully understand
> what the impact would be of trapping the ERESTARTNOHAND in the
> sys_select/sys_pselect7 functions would be.

It gets caught by the return into userspace code.

Specifically the signal dispatch should repair that return
value to a valid error return code when it tries to dispatch
the signal that select() set in the task struct.

Note that select() only returns these values when signal_pending()
is true.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/