* pinfo.cc (_pinfo::exit): Beef up debugging output.

* sigproc.cc (proc_subproc): Detached children apparently need a ppid of 1.
This commit is contained in:
Christopher Faylor 2004-12-27 17:19:25 +00:00
parent 933673e83b
commit 6e3c97b14e
3 changed files with 11 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2004-12-27 Christopher Faylor <cgf@timesys.com>
* 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 <cgf@timesys.com> 2004-12-26 Christopher Faylor <cgf@timesys.com>
* init.cc (dll_entry): Previous code reversion was ill-advised. Revert * init.cc (dll_entry): Previous code reversion was ill-advised. Revert

View File

@ -121,15 +121,15 @@ _pinfo::exit (UINT n, bool norecord)
if (!norecord) if (!norecord)
{ {
process_state = PID_EXITED; process_state = PID_EXITED;
/* We could just let this happen automatically when the process /* Ensure that the parent knows that this logical process has
exits but this should gain us a microsecond or so by notifying terminated. */
the parent early. */
myself->alert_parent (0); 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.stacklock = 0;
_my_tls.stackptr = _my_tls.stack; _my_tls.stackptr = _my_tls.stack;
ExitProcess (exitcode); ExitProcess (exitcode);

View File

@ -249,7 +249,7 @@ proc_subproc (DWORD what, DWORD val)
case PROC_DETACHED_CHILD: case PROC_DETACHED_CHILD:
if (vchild != myself) if (vchild != myself)
{ {
vchild->ppid = myself->pid; vchild->ppid = what == PROC_DETACHED_CHILD ? 1 : myself->pid;
vchild->uid = myself->uid; vchild->uid = myself->uid;
vchild->gid = myself->gid; vchild->gid = myself->gid;
vchild->pgid = myself->pgid; vchild->pgid = myself->pgid;