* debug.cc (delete_handle): Report on handle value in debugging output.

* pinfo.h (_pinfo::exists): Declare "new" function.
(_pinfo::kill): Ditto.
* fhandler_termios.cc (tty_min::kill_pgrp): Use _pinfo::exists rather than
proc_exists.
* pinfo.cc (pinfo::init): Ditto.  Don't do a low_priority_sleep(0) when looping
to find exec'ed procinfo.
(pinfo::release): Be more careful about unmapping and closing.
* signal.cc (_pinfo::kill): Rename from kill_worker.  Accommodate entry into
_pinfo class.
(kill0): Use _pinfo::kill rather than kill_worker.
(kill_pgrp): Ditto.  Use _pinfo::exists rather than proc_exists.
* sigproc.cc (_pinfo::exists): Rename from proc_exists.
(pid_exists): Use _pinfo::exists rather than proc_exists.
(remove_proc): Ditto.
* sigproc.h (proc_exists): Delete declaration.
This commit is contained in:
Christopher Faylor
2005-02-26 20:50:25 +00:00
parent 92a7e06eb8
commit 1a9a235a5a
8 changed files with 51 additions and 37 deletions

View File

@ -192,16 +192,15 @@ proc_can_be_signalled (_pinfo *p)
bool __stdcall
pid_exists (pid_t pid)
{
pinfo p (pid);
return proc_exists (p);
return pinfo (pid)->exists ();
}
/* Test to determine if a process really exists and is processing signals.
*/
bool __stdcall
proc_exists (_pinfo *p)
_pinfo::exists ()
{
return p && !(p->process_state & PID_EXITED);
return this && !(process_state & PID_EXITED);
}
/* Return true if this is one of our children, false otherwise. */
@ -847,7 +846,7 @@ out:
static bool __stdcall
remove_proc (int ci)
{
if (proc_exists (procs[ci]))
if (procs[ci]->exists ())
return true;
sigproc_printf ("removing procs[%d], pid %d, nprocs %d", ci, procs[ci]->pid,