* pinfo.h (pinfo): Un-inline release.

* pinfo.cc (pinfo::release): Move here from pinfo.h.
* sigproc.cc (proc_terminate): Remove bogus 'pinfo child' which caused strange
destruction of random regions of memory when destructor was invoked.
This commit is contained in:
Christopher Faylor
2000-08-26 03:48:37 +00:00
parent 3c2c374555
commit fde520bf6c
4 changed files with 44 additions and 32 deletions

View File

@ -499,13 +499,12 @@ proc_terminate (void)
zombies[i]->hProcess = NULL;
}
zombies[i]->process_state = PID_NOT_IN_USE; /* CGF FIXME - still needed? */
// zombies[i].release(); // FIXME: this breaks older gccs for some reason
zombies[i].release(); // FIXME: this breaks older gccs for some reason
}
/* Disassociate my subprocesses */
for (i = 0; i < nchildren; i++)
{
pinfo child; /* CGF FIXME */
if (pchildren[i]->process_state == PID_NOT_IN_USE)
continue; // Should never happen
if (!pchildren[i]->hProcess)
@ -530,7 +529,7 @@ proc_terminate (void)
pchildren[i]->process_state |= PID_ORPHANED;
}
}
// pchildren[i].release (); // FIXME: this breaks older gccs for some reason
pchildren[i].release (); // FIXME: this breaks older gccs for some reason
}
nchildren = nzombies = 0;