Messages in this thread |  | | From | Maciek Borzecki <> | | Date | Mon, 12 Sep 2011 10:47:13 +0200 | | Subject | Re: pselect semantics - no EINTR with pending signals |
| |
On Sun, Sep 11, 2011 at 4:45 PM, Ulrich Drepper <drepper@gmail.com> wrote: > On Fri, Sep 9, 2011 at 09:25, Maciek Borzecki <maciek.borzecki@gmail.com> 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. I do agree, otherwise the signal delivery gating functionality of pselect is not really useful.
I'd submit a patch, provided that current behavior is considered incorrect. Hopefully userspace would not be affected to the degree that things would get broken.
-- Maciek Borzecki -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |