mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-13 04:29:09 +08:00
Revert "Cygwin: signal: Do not handle signal when __SIGFLUSHFAST is sent"
This reverts commit a22a0ad7c4f0 to apply a new patch for the same purpose. Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
This commit is contained in:
parent
dbd662300b
commit
6172e5283b
@ -7,6 +7,3 @@ Fixes:
|
||||
|
||||
- Fix a regression since 3.5.0 which fails to use POSIX semantics in
|
||||
unlink/rename on NTFS.
|
||||
|
||||
- Fix zsh hang at startup.
|
||||
Addresses: https://cygwin.com/pipermail/cygwin/2024-December/256954.html
|
||||
|
@ -751,14 +751,10 @@ sig_send (_pinfo *p, siginfo_t& si, _cygtls *tls)
|
||||
res = WriteFile (sendsig, leader, packsize, &nb, NULL);
|
||||
if (!res || packsize == nb)
|
||||
break;
|
||||
if (cygwait (NULL, 10, cw_sig_eintr) == WAIT_SIGNALED
|
||||
&& pack.si.si_signo != __SIGFLUSHFAST)
|
||||
if (cygwait (NULL, 10, cw_sig_eintr) == WAIT_SIGNALED)
|
||||
_my_tls.call_signal_handler ();
|
||||
res = 0;
|
||||
}
|
||||
/* Re-assert signal_arrived which has been cleared in cygwait(). */
|
||||
if (_my_tls.current_sig)
|
||||
_my_tls.set_signal_arrived ();
|
||||
|
||||
if (!res)
|
||||
{
|
||||
@ -789,16 +785,7 @@ sig_send (_pinfo *p, siginfo_t& si, _cygtls *tls)
|
||||
if (wait_for_completion)
|
||||
{
|
||||
sigproc_printf ("Waiting for pack.wakeup %p", pack.wakeup);
|
||||
do
|
||||
{
|
||||
rc = cygwait (pack.wakeup, WSSC, cw_sig_eintr);
|
||||
if (rc == WAIT_SIGNALED && pack.si.si_signo != __SIGFLUSHFAST)
|
||||
_my_tls.call_signal_handler ();
|
||||
}
|
||||
while (rc != WAIT_OBJECT_0 && rc != WAIT_TIMEOUT);
|
||||
/* Re-assert signal_arrived which has been cleared in cygwait(). */
|
||||
if (_my_tls.current_sig)
|
||||
_my_tls.set_signal_arrived ();
|
||||
rc = cygwait (pack.wakeup, WSSC);
|
||||
ForceCloseHandle (pack.wakeup);
|
||||
}
|
||||
else
|
||||
@ -819,6 +806,9 @@ sig_send (_pinfo *p, siginfo_t& si, _cygtls *tls)
|
||||
rc = -1;
|
||||
}
|
||||
|
||||
if (wait_for_completion && si.si_signo != __SIGFLUSHFAST)
|
||||
_my_tls.call_signal_handler ();
|
||||
|
||||
out:
|
||||
if (communing && rc)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user