summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/sigproc.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2004-12-27 02:13:30 +0000
committerChristopher Faylor <me@cgf.cx>2004-12-27 02:13:30 +0000
commit933673e83be8bebaf0c3b7646c6119d1acd5fc05 (patch)
treee50a2ef4bcb1833eb8fb520805ed20aa60840687 /winsup/cygwin/sigproc.cc
parent445d5ce8fcffed71f4349c723b707dc779fe1cc2 (diff)
downloadcygnal-933673e83be8bebaf0c3b7646c6119d1acd5fc05.tar.gz
cygnal-933673e83be8bebaf0c3b7646c6119d1acd5fc05.tar.bz2
cygnal-933673e83be8bebaf0c3b7646c6119d1acd5fc05.zip
* init.cc (dll_entry): Previous code reversion was ill-advised. Revert it.
* sigproc.cc (child_info::sync): Ditto. * pinfo.cc (_pinfo::exit): Don't set myself.procinfo to NULL since it is no longer required.
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: