RE: Bug with fcntl(n, F_SETOWN, getpid) with NPTL 0.34
"David Holmes" <[email protected]> Sat, 18 Oct 2003 13:15:09 +1000
| Newsgroups | gmane.comp.lib.phil |
|---|---|
| Message-ID | <[email protected]> |
Jamie Lokier wrote: > Changing fasync to deliver signals to a process instead of a thread > breaks programs which use sigwaitinfo() as their per-thread event > queue mechanism (e.g. to track dnotify events, or to guarantee event > ordering from async futexes). The POSIX specificiation for fcntl with the F_SETOWN argument states that it takes a process id to identify which process to send the signal to. As with any process directed signal it can be delivered to any thread that does not have it masked. So as long as signals are masked appropriately, a thread doing sigwait/sigwaitinfo would be the one to receive the signal. I don't know how this relates to fasync so I'll leave you guys to "fight" this out. Meanwhile at Roland's suggestion I've submitted a kernel bug report on bugzilla - 107344 Thanks for the responses. David Holmes