summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/pinfo.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/pinfo.cc')
-rw-r--r--winsup/cygwin/pinfo.cc10
1 files changed, 4 insertions, 6 deletions
diff --git a/winsup/cygwin/pinfo.cc b/winsup/cygwin/pinfo.cc
index 6bd05131b..ba7b2da56 100644
--- a/winsup/cygwin/pinfo.cc
+++ b/winsup/cygwin/pinfo.cc
@@ -175,18 +175,16 @@ pinfo::maybe_set_exit_code_from_windows ()
void
pinfo::exit (DWORD n)
{
- minimal_printf ("winpid %d, exit %d", GetCurrentProcessId (), n);
- sigproc_terminate (ES_FINAL);
+ debug_only_printf ("winpid %d, exit %d", GetCurrentProcessId (), n);
+ proc_terminate ();
lock_process until_exit (true);
cygthread::terminate ();
if (n != EXITCODE_NOSET)
self->exitcode = EXITCODE_SET | n;/* We're really exiting. Record the UNIX exit code. */
else
- {
- exit_state = ES_EXEC_EXIT;
- maybe_set_exit_code_from_windows ();
- }
+ maybe_set_exit_code_from_windows (); /* may block */
+ exit_state = ES_FINAL;
if (myself->ctty > 0 && !iscons_dev (myself->ctty))
{