author | zecke <zecke> | 2002-10-21 22:15:31 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-10-21 22:15:31 (UTC) |
commit | 151729eb3e4e4cfbb69db1f027e74188cf55c328 (patch) (side-by-side diff) | |
tree | 73705a6ca967933780062a95756dc18ae7bd8167 /noncore/apps/opie-console/procctl.cpp | |
parent | 5bcd4ccebd86f912c693de16675da44d21e11d94 (diff) | |
download | opie-151729eb3e4e4cfbb69db1f027e74188cf55c328.zip opie-151729eb3e4e4cfbb69db1f027e74188cf55c328.tar.gz opie-151729eb3e4e4cfbb69db1f027e74188cf55c328.tar.bz2 |
Fix the addPage bug... and avoid some compiler warnings. REMEMBER WARNINGS ARE BUGS
Diffstat (limited to 'noncore/apps/opie-console/procctl.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/opie-console/procctl.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/noncore/apps/opie-console/procctl.cpp b/noncore/apps/opie-console/procctl.cpp index ff6bea8..a44529b 100644 --- a/noncore/apps/opie-console/procctl.cpp +++ b/noncore/apps/opie-console/procctl.cpp @@ -1,67 +1,68 @@ #include <sys/wait.h> #include <fcntl.h> #include <unistd.h> #include "procctl.h" ProcContainer *ProcCtl::m_last = 0; ProcCtl* ProcCtl::m_self = 0; ProcCtl::ProcCtl() { signal( SIGCHLD, signal_handler ); } ProcCtl::~ProcCtl() { } ProcCtl* ProcCtl::self() { if (!m_self ) { m_self = new ProcCtl; } + return m_self; } void ProcCtl::add(pid_t pi, int fd ) { ProcContainer * con = new ProcContainer; //memset(con, 0, sizeof(con) ); con->pid = pi; con->fd = fd; con->status = 0; con->prev = m_last; m_last = con; } void ProcCtl::remove( pid_t pi ) { /* * We first check if the last item * is equal to pi the we * */ ProcContainer* con; if (m_last->pid == pi ) { con = m_last; m_last = con->prev; delete con; return; } con = m_last; ProcContainer* forw = 0l; while (con ) { /* remove it */ if ( pi == con->pid ) { forw->prev = con->prev; delete con; return; } forw = con; con = con->prev; } } void ProcCtl::remove( ProcContainer con ) { remove( con.pid ); } int ProcCtl::status(pid_t pid )const{ ProcContainer *con = m_last; while (con) { if (con->pid == pid ) |