From 6e3c97b14e9b4f0288a39d5df2bd486ad57ae7e2 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Mon, 27 Dec 2004 17:19:25 +0000 Subject: [PATCH] * pinfo.cc (_pinfo::exit): Beef up debugging output. * sigproc.cc (proc_subproc): Detached children apparently need a ppid of 1. --- winsup/cygwin/ChangeLog | 6 ++++++ winsup/cygwin/pinfo.cc | 8 ++++---- winsup/cygwin/sigproc.cc | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 76b96ebd9..0a483f16d 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2004-12-27 Christopher Faylor + + * pinfo.cc (_pinfo::exit): Beef up debugging output. + * sigproc.cc (proc_subproc): Detached children apparently need a ppid + of 1. + 2004-12-26 Christopher Faylor * init.cc (dll_entry): Previous code reversion was ill-advised. Revert diff --git a/winsup/cygwin/pinfo.cc b/winsup/cygwin/pinfo.cc index 5d56fc474..1137575c3 100644 --- a/winsup/cygwin/pinfo.cc +++ b/winsup/cygwin/pinfo.cc @@ -121,15 +121,15 @@ _pinfo::exit (UINT n, bool norecord) if (!norecord) { process_state = PID_EXITED; - /* We could just let this happen automatically when the process - exits but this should gain us a microsecond or so by notifying - the parent early. */ + /* Ensure that the parent knows that this logical process has + terminated. */ myself->alert_parent (0); } } - sigproc_printf ("Calling ExitProcess %d", n); + sigproc_printf ("Calling ExitProcess norecord %d, n %d, exitcode %d", + norecord, n, exitcode); _my_tls.stacklock = 0; _my_tls.stackptr = _my_tls.stack; ExitProcess (exitcode); diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index b5a281530..6ec9a2838 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -249,7 +249,7 @@ proc_subproc (DWORD what, DWORD val) case PROC_DETACHED_CHILD: if (vchild != myself) { - vchild->ppid = myself->pid; + vchild->ppid = what == PROC_DETACHED_CHILD ? 1 : myself->pid; vchild->uid = myself->uid; vchild->gid = myself->gid; vchild->pgid = myself->pgid; -- 2.43.5