diff options
-rw-r--r-- | winsup/cygwin/sigproc.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index b67eccf..8f46a80 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -1321,6 +1321,9 @@ wait_sig (VOID *) sigpacket pack = {}; if (sigq.retry) pack.si.si_signo = __SIGFLUSH; + else if (sigq.start.next + && PeekNamedPipe (my_readsig, NULL, 0, NULL, &nb, NULL) && !nb) + pack.si.si_signo = __SIGFLUSH; else if (!ReadFile (my_readsig, &pack, sizeof (pack), &nb, NULL)) Sleep (INFINITE); /* Assume were exiting. Never exit this thread */ else if (nb != sizeof (pack) || !pack.si.si_signo) |