Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2011-11-04 01:44:05 +0400
committerChristopher Faylor <me@cgf.cx>2011-11-04 01:44:05 +0400
commitf4bb53c4e0a4f1b74c1373da19c8e27476804719 (patch)
tree89eea2a51fc66354df79f86c1d5eed784b1304ba /winsup
parent277753c80ef24b5a9e94ee7fb2962944cfd7d938 (diff)
* sigproc.cc (child_info::sync): Report on exit code in strace output.
(child_info::proc_retry): Don't consider STATUS_ACCESS_VIOLATION as a restartable event.
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog6
-rw-r--r--winsup/cygwin/sigproc.cc6
2 files changed, 10 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 493fa80e1..9f8c0fcfc 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,11 @@
2011-11-03 Christopher Faylor <me.cygwin2011@cgf.cx>
+ * sigproc.cc (child_info::sync): Report on exit code in strace output.
+ (child_info::proc_retry): Don't consider STATUS_ACCESS_VIOLATION as a
+ restartable event.
+
+2011-11-03 Christopher Faylor <me.cygwin2011@cgf.cx>
+
* sigproc.cc (child_info_spawn::reattach_children): Avoid issuing an
error when we can't duplicate from "parent" since it is probably ok if
children of the previous owner of the pid disappear.
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index fda9bc014..dcb52733b 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -936,7 +936,8 @@ child_info::sync (pid_t pid, HANDLE& hProcess, DWORD howlong)
hProcess = NULL;
}
}
- sigproc_printf ("pid %u, WFMO returned %d, res %d", pid, x, res);
+ sigproc_printf ("pid %u, WFMO returned %d, exit_code %p, res %d", pid, x,
+ exit_code, res);
}
return res;
}
@@ -946,13 +947,14 @@ child_info::proc_retry (HANDLE h)
{
if (!exit_code)
return EXITCODE_OK;
+ sigproc_printf ("exit_code %p", exit_code);
switch (exit_code)
{
case STILL_ACTIVE: /* shouldn't happen */
sigproc_printf ("STILL_ACTIVE? How'd we get here?");
break;
case STATUS_DLL_NOT_FOUND:
- return exit_code;
+ case STATUS_ACCESS_VIOLATION:
case STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION: /* pseudo-reloc.c specific */
return exit_code;
case STATUS_CONTROL_C_EXIT: