Skip to content

Commit 7d86307

Browse files
tyan0jeremyd2019
authored andcommitted
Revert "Cygwin: signal: Do not handle signal when __SIGFLUSHFAST is sent"
This reverts commit a22a0ad to apply a new patch for the same purpose. Signed-off-by: Takashi Yano <[email protected]>
1 parent 33799c2 commit 7d86307

File tree

2 files changed

+5
-20
lines changed

2 files changed

+5
-20
lines changed

winsup/cygwin/release/3.5.6

Lines changed: 0 additions & 5 deletions
This file was deleted.

winsup/cygwin/sigproc.cc

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -751,14 +751,10 @@ sig_send (_pinfo *p, siginfo_t& si, _cygtls *tls)
751751
res = WriteFile (sendsig, leader, packsize, &nb, NULL);
752752
if (!res || packsize == nb)
753753
break;
754-
if (cygwait (NULL, 10, cw_sig_eintr) == WAIT_SIGNALED
755-
&& pack.si.si_signo != __SIGFLUSHFAST)
754+
if (cygwait (NULL, 10, cw_sig_eintr) == WAIT_SIGNALED)
756755
_my_tls.call_signal_handler ();
757756
res = 0;
758757
}
759-
/* Re-assert signal_arrived which has been cleared in cygwait(). */
760-
if (_my_tls.sig)
761-
_my_tls.set_signal_arrived ();
762758

763759
if (!res)
764760
{
@@ -789,16 +785,7 @@ sig_send (_pinfo *p, siginfo_t& si, _cygtls *tls)
789785
if (wait_for_completion)
790786
{
791787
sigproc_printf ("Waiting for pack.wakeup %p", pack.wakeup);
792-
do
793-
{
794-
rc = cygwait (pack.wakeup, WSSC, cw_sig_eintr);
795-
if (rc == WAIT_SIGNALED && pack.si.si_signo != __SIGFLUSHFAST)
796-
_my_tls.call_signal_handler ();
797-
}
798-
while (rc != WAIT_OBJECT_0 && rc != WAIT_TIMEOUT);
799-
/* Re-assert signal_arrived which has been cleared in cygwait(). */
800-
if (_my_tls.sig)
801-
_my_tls.set_signal_arrived ();
788+
rc = cygwait (pack.wakeup, WSSC);
802789
ForceCloseHandle (pack.wakeup);
803790
}
804791
else
@@ -819,6 +806,9 @@ sig_send (_pinfo *p, siginfo_t& si, _cygtls *tls)
819806
rc = -1;
820807
}
821808

809+
if (wait_for_completion && si.si_signo != __SIGFLUSHFAST)
810+
_my_tls.call_signal_handler ();
811+
822812
out:
823813
if (communing && rc)
824814
{

0 commit comments

Comments
 (0)