diff options
author | Takashi Yano <takashi.yano@nifty.ne.jp> | 2024-12-04 11:53:41 +0900 |
---|---|---|
committer | Takashi Yano <takashi.yano@nifty.ne.jp> | 2024-12-06 19:13:04 +0900 |
commit | 496fa7b2ce0052550eab8900723ebb59c33d25e7 (patch) | |
tree | e1f30fa47bc65137b29ffe3b2da8014f823436b1 /include/gcc-c-interface.h | |
parent | d565aca46f06117ef16ec37c51767a5e140ee9e2 (diff) | |
download | newlib-496fa7b2ce0052550eab8900723ebb59c33d25e7.zip newlib-496fa7b2ce0052550eab8900723ebb59c33d25e7.tar.gz newlib-496fa7b2ce0052550eab8900723ebb59c33d25e7.tar.bz2 |
Cygwin: signal: Introduce a lock for the signal queue
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 <corinna@vinschen.de>
Reviewed-by: Corinna Vinschen <corinna@vinschen.de>
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Diffstat (limited to 'include/gcc-c-interface.h')
0 files changed, 0 insertions, 0 deletions