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
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2012-01-31 22:06:51 +0400
committerChristopher Faylor <me@cgf.cx>2012-01-31 22:06:51 +0400
commit44e1d662cb57e2e4e47601350d7e29d1b1a41286 (patch)
tree353625113161f1420ce87130e3e744cd5dc55270
parentfa5f82b2868e4c9825e5bafa48a86ba7b4fbfb19 (diff)
* strace.cc (proc_child): Don't right-shift exit value.
(main): Call ExitProcess() to exit exactly the same way as any straced child.
-rw-r--r--winsup/utils/ChangeLog6
-rw-r--r--winsup/utils/strace.cc7
2 files changed, 9 insertions, 4 deletions
diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog
index 3a5e94c23..fb4a43ffe 100644
--- a/winsup/utils/ChangeLog
+++ b/winsup/utils/ChangeLog
@@ -1,3 +1,9 @@
+2012-01-31 Christopher Faylor <me.cygwin2012@cgf.cx>
+
+ * strace.cc (proc_child): Don't right-shift exit value.
+ (main): Call ExitProcess() to exit exactly the same way as any straced
+ child.
+
2012-01-29 Corinna Vinschen <corinna@vinschen.de>
* tzset.c: Throughout use wide characters to be locale agnostic.
diff --git a/winsup/utils/strace.cc b/winsup/utils/strace.cc
index 42fb955be..f8662582d 100644
--- a/winsup/utils/strace.cc
+++ b/winsup/utils/strace.cc
@@ -680,7 +680,7 @@ proc_child (unsigned mask, FILE *ofile, pid_t pid)
break;
case EXIT_PROCESS_DEBUG_EVENT:
- res = ev.u.ExitProcess.dwExitCode >> 8;
+ res = ev.u.ExitProcess.dwExitCode;
remove_child (ev.dwProcessId);
break;
case EXCEPTION_DEBUG_EVENT:
@@ -1076,12 +1076,11 @@ character #%d.\n", optarg, (int) (endptr - optarg), endptr);
if (!ofile)
ofile = stdout;
- DWORD res = 0;
if (toggle)
dotoggle (pid);
else
- res = dostrace (mask, ofile, pid, argv + optind);
- return res;
+ ExitProcess (dostrace (mask, ofile, pid, argv + optind));
+ return 0;
}
#undef CloseHandle