From 6fcb2238583e71dc3a4fb88eec43de85c5c074eb Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 29 Mar 2013 13:18:25 +0000 Subject: * sigproc.cc (wait_sig): Avoid uninitialized use of nb when retrying. Consolidate two error messages into one. --- winsup/cygwin/sigproc.cc | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) (limited to 'winsup/cygwin/sigproc.cc') diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index a38ff0251..015cbaf2b 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -1288,27 +1288,16 @@ wait_sig (VOID *) DWORD nb; sigpacket pack = {}; if (sigq.retry) - { - sigq.retry = false; - pack.si.si_signo = __SIGFLUSH; - } + pack.si.si_signo = __SIGFLUSH; else if (!ReadFile (my_readsig, &pack, sizeof (pack), &nb, NULL)) - Sleep (INFINITE); /* Never exit this thread */ - if (nb != sizeof (pack)) - { - system_printf ("short read from signal pipe: %d != %d", nb, - sizeof (pack)); - continue; - } - - if (!pack.si.si_signo) + Sleep (INFINITE); /* Assume were exiting. Never exit this thread */ + else if (nb != sizeof (pack) || !pack.si.si_signo) { -#ifdef DEBUGGING - system_printf ("zero signal?"); -#endif + system_printf ("garbled signal pipe data nb %u, sig %d", nb, pack.si.si_signo); continue; } + sigq.retry = false; /* Don't process signals when we start exiting */ if (exit_state > ES_EXIT_STARTING && pack.si.si_signo > 0) continue; -- cgit v1.2.3