--- gvpe/src/iom.h 2004/09/02 07:50:43 1.21 +++ gvpe/src/iom.h 2005/03/03 16:54:34 1.27 @@ -1,8 +1,10 @@ /* - iom.h -- generic I/O multiplexor - Copyright (C) 2003, 2004 Marc Lehmann + iom.h -- generic I/O multiplexer + Copyright (C) 2003, 2004 Marc Lehmann - This program is free software; you can redistribute it and/or modify + This file is part of GVPE. + + GVPE is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. @@ -13,7 +15,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software + along with gvpe; if not, write to the Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ @@ -66,17 +68,13 @@ template struct io_manager_vec : vector { -#if IOM_CHECK - bool activity; -#endif - void erase_unordered (unsigned int pos) { watcher *w = (*this)[this->size () - 1]; this->pop_back (); - if (this->size ()) - if ((*this)[pos] = w) + if (!this->empty ()) + if (((*this)[pos] = w)) // '=' is correct! w->active = pos + 1; } }; @@ -90,6 +88,14 @@ static void unreg (watcher &w, io_manager_vec &queue); public: +#if IOM_TIME + // fetch time only + static tstamp now (); + + // set NOW + static void set_now (); +#endif + // register a watcher #if IOM_IO static void reg (io_watcher &w); static void unreg (io_watcher &w);