On Sun, 9 Mar 2025 13:28:26 +0100 Christian Franke wrote: > Takashi Yano wrote: > > ... > > With this patch prevents all signals from that issues by redesigning > > the signal queue, Only the exception is the case that the process is > > in the PID_STOPPED state. In this case, SIGCONT/SIGKILL should be > > processed prior to the other signals in the queue. > > > > Addresses: https://cygwin.com/pipermail/cygwin/2025-March/257582.html > > Fixes: 7ac6173643b1 ("(pending_signals): New class.") > > Reported by: Christian Franke <christian.fra...@t-online.de> > > Reviewed-by: > > Signed-off-by: Takashi Yano <takashi.y...@nifty.ne.jp> > > ... > > void > > pending_signals::add (sigpacket& pack) > > { > > ... > > + if (q->si.si_signo == pack.si.si_signo) > > + q->usecount++; > > ... > > > > This should possibly also compare the si.si_sigval fields. Otherwise > values would be lost if the same real-time signal is issued multiple > times with different value parameters. > > The queuing might also be incorrect for real-time signals. Linux > signal(7) says: > "If different real-time signals are sent to a process, they are > delivered starting with the lowest-numbered signal."
Thanks for the advice. I'll submit v2 patch in a several hours. Please check. -- Takashi Yano <takashi.y...@nifty.ne.jp>