Re: [PATCH] sigwait eats blocked default-ignore signals

2007-11-14 Thread Oleg Nesterov
On 11/13, Roland McGrath wrote: > > > But I suspect we have other issues here. Let's suppose we have threads T1 > > (main) and T2. T2 blocks SIGCHLD and does sigwait(SIGCHLD). > > > > Now, we send SIGCHLD to the thread group. The signal is lost again because > > sig_ignored() returns true on T1's

Re: [PATCH] sigwait eats blocked default-ignore signals

2007-11-14 Thread Oleg Nesterov
On 11/13, Roland McGrath wrote: But I suspect we have other issues here. Let's suppose we have threads T1 (main) and T2. T2 blocks SIGCHLD and does sigwait(SIGCHLD). Now, we send SIGCHLD to the thread group. The signal is lost again because sig_ignored() returns true on T1's side.

Re: [PATCH] sigwait eats blocked default-ignore signals

2007-11-13 Thread Roland McGrath
> But I suspect we have other issues here. Let's suppose we have threads T1 > (main) and T2. T2 blocks SIGCHLD and does sigwait(SIGCHLD). > > Now, we send SIGCHLD to the thread group. The signal is lost again because > sig_ignored() returns true on T1's side. > > Is this OK? [...] Yes, it's OK

Re: [PATCH] sigwait eats blocked default-ignore signals

2007-11-13 Thread Oleg Nesterov
On 11/12, Roland McGrath wrote: > > cf http://bugzilla.kernel.org/show_bug.cgi?id=9347 > > While a signal is blocked, it must be posted even if its action is > SIG_IGN or is SIG_DFL with the default action to ignore. This works > right most of the time, but is broken when a sigwait

Re: [PATCH] sigwait eats blocked default-ignore signals

2007-11-13 Thread Oleg Nesterov
On 11/12, Roland McGrath wrote: cf http://bugzilla.kernel.org/show_bug.cgi?id=9347 While a signal is blocked, it must be posted even if its action is SIG_IGN or is SIG_DFL with the default action to ignore. This works right most of the time, but is broken when a sigwait (rt_sigtimedwait)

Re: [PATCH] sigwait eats blocked default-ignore signals

2007-11-13 Thread Roland McGrath
But I suspect we have other issues here. Let's suppose we have threads T1 (main) and T2. T2 blocks SIGCHLD and does sigwait(SIGCHLD). Now, we send SIGCHLD to the thread group. The signal is lost again because sig_ignored() returns true on T1's side. Is this OK? [...] Yes, it's OK if T1

[PATCH] sigwait eats blocked default-ignore signals

2007-11-12 Thread Roland McGrath
cf http://bugzilla.kernel.org/show_bug.cgi?id=9347 While a signal is blocked, it must be posted even if its action is SIG_IGN or is SIG_DFL with the default action to ignore. This works right most of the time, but is broken when a sigwait (rt_sigtimedwait) is in progress. This changes the

[PATCH] sigwait eats blocked default-ignore signals

2007-11-12 Thread Roland McGrath
cf http://bugzilla.kernel.org/show_bug.cgi?id=9347 While a signal is blocked, it must be posted even if its action is SIG_IGN or is SIG_DFL with the default action to ignore. This works right most of the time, but is broken when a sigwait (rt_sigtimedwait) is in progress. This changes the