--- rxvt-unicode/src/iom.C 2004/01/17 14:10:40 1.10 +++ rxvt-unicode/src/iom.C 2004/01/29 23:26:01 1.12 @@ -21,9 +21,17 @@ #include #include -#include #include +#if 1 // older unices need these includes for select(2) +# include +# include +#endif + +// if the BSDs would at least be marginally POSIX-compatible.. *sigh* +// until that happens, sys/select.h must come last +#include + #include "iom.h" // TSTAMP_MAX must still fit into a positive struct timeval @@ -59,6 +67,9 @@ if (!w->active) { +#if IOM_CHECK + queue.activity = true; +#endif queue.push_back (w); w->active = queue.size (); } @@ -170,11 +181,20 @@ } #if IOM_CHECK + tw.activity = false; + for (int i = cw.size (); i--; ) if (!cw[i]) cw.erase_unordered (i); else cw[i]->call (*cw[i]); + + if (tw.activity) + { + tval.tv_sec = 0; + tval.tv_usec = 0; + to = &tval; + } #endif #if IOM_IO @@ -250,7 +270,6 @@ set_now (); tw0.start (TSTAMP_MAX); - printf ("abort, %f but inly on %f\n", NOW, tw0.at); #endif }