On Dec  5 12:25, Takashi Yano wrote:
> Currently, the signal queue is touched by the thread sig as well as
> other threads that call sigaction_worker(). This potentially has
> a possibility to destroy the signal queue chain. A possible worst
> result may be a self-loop chain which causes infinite loop. With
> this patch, lock()/unlock() are introduce to avoid such a situation.
> 
> Fixes: 474048c26edf ("* sigproc.cc (pending_signals::add): Just index 
> directly into signal array rather than treating the array as a heap.")
> Suggested-by: Corinna Vinschen <cori...@vinschen.de>
> Reviewed-by: Corinna Vinschen <cori...@vinschen.de>
> Signed-off-by: Takashi Yano <takashi.y...@nifty.ne.jp>
> ---
>  winsup/cygwin/exceptions.cc            | 12 +++++------
>  winsup/cygwin/local_includes/sigproc.h |  2 +-
>  winsup/cygwin/signal.cc                |  4 ++--
>  winsup/cygwin/sigproc.cc               | 28 +++++++++++++++++++++-----
>  4 files changed, 32 insertions(+), 14 deletions(-)

LGTM, please push.


Thanks,
Corinna

Reply via email to