summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/sigproc.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r--winsup/cygwin/sigproc.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index db4997b88..b5a281530 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -798,6 +798,13 @@ child_info::sync (pinfo& vchild, DWORD howlong)
case WAIT_OBJECT_0 + 1:
if (WaitForSingleObject (subproc_ready, 0) == WAIT_OBJECT_0)
sigproc_printf ("should never happen. noticed subproc_ready after process exit");
+ else
+ {
+ DWORD exitcode = 0;
+ (void) GetExitCodeProcess (vchild.hProcess, &exitcode);
+ vchild->exitcode = (exitcode & 0xff) << 8;
+ sigproc_printf ("non-cygwin exit value is %p", exitcode);
+ }
res = false;
break;
default: