linux-man.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* ppoll with multiple threads
@ 2013-09-26 22:04 Ian Pilcher
       [not found] ` <5244AF7E.1020500-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 2+ messages in thread
From: Ian Pilcher @ 2013-09-26 22:04 UTC (permalink / raw)
  To: linux-man-u79uwXL29TY76Z2rM5mHXA

The select(2) man page was updated about a year ago to clarify the
behavior of pselect in multi-threaded programs.

http://git.kernel.org/cgit/docs/man-pages/man-pages.git/commit/man2/select.2?id=2e72e991695f745d6419feeb77598f61d8c86a52

Should a similar update be made to poll(2) for ppoll?

If I'm reading the kernel source (fs/select.c) correctly, both syscalls
(pselect6 and ppoll) use a (possibly unfortunately named) "sigprocmask"
function to manipulate the signal mask, so their behavior should be the
same in this regard.

Also, it might be nice to clarify that these changes are clarifications
of existing behavior, rather than new behavior (i.e. clarify the
clarification).  The current situation is pretty confusing:

http://stackoverflow.com/questions/17011460/ppoll-vs-pselect-with-multiple-threads

-- 
========================================================================
Ian Pilcher                                         arequipeno-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Sometimes there's nothing left to do but crash and burn...or die trying.
========================================================================
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: ppoll with multiple threads
       [not found] ` <5244AF7E.1020500-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2015-05-02  7:01   ` Michael Kerrisk (man-pages)
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Kerrisk (man-pages) @ 2015-05-02  7:01 UTC (permalink / raw)
  To: Ian Pilcher, linux-man-u79uwXL29TY76Z2rM5mHXA
  Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w

Hello Ian,

On 09/27/2013 12:04 AM, Ian Pilcher wrote:
> The select(2) man page was updated about a year ago to clarify the
> behavior of pselect in multi-threaded programs.
> 
> http://git.kernel.org/cgit/docs/man-pages/man-pages.git/commit/man2/select.2?id=2e72e991695f745d6419feeb77598f61d8c86a52
> 
> Should a similar update be made to poll(2) for ppoll?

Yes. Done. And I made the same change in the description of epoll_pwait().

Thanks,

Michael


> If I'm reading the kernel source (fs/select.c) correctly, both syscalls
> (pselect6 and ppoll) use a (possibly unfortunately named) "sigprocmask"
> function to manipulate the signal mask, so their behavior should be the
> same in this regard.
> 
> Also, it might be nice to clarify that these changes are clarifications
> of existing behavior, rather than new behavior (i.e. clarify the
> clarification).  The current situation is pretty confusing:
> 
> http://stackoverflow.com/questions/17011460/ppoll-vs-pselect-with-multiple-threads
> 


-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-05-02  7:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-26 22:04 ppoll with multiple threads Ian Pilcher
     [not found] ` <5244AF7E.1020500-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-05-02  7:01   ` Michael Kerrisk (man-pages)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).