Re: pselect semantics - no EINTR with pending signals

From: Ulrich Drepper
Date: Sun Sep 11 2011 - 10:46:20 EST


On Fri, Sep 9, 2011 at 09:25, Maciek Borzecki <maciek.borzecki@xxxxxxxxx> wrote:
> Now, I'm not sure about the semantics of pselect. I'm not saying that
> the current version is right or wrong, but raising a question if this
> is really expected (and it did happen to be quite unexpected for me).

The standard says

If sigmask is not a null pointer, then the pselect() function
shall replace the signal mask of the
process by the set of signals pointed to by sigmask before
examining the descriptors, and shall
restore the signal mask of the process before returning.

The way I read this the kernel does have to give the signal a chance
to be delivered even if there are file descriptor ready for I/O.
--
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/