* Sebastian Hammer, Adam Dickmeiss
*
* $Log: eventl.c,v $
- * Revision 1.16 1995-11-01 13:54:56 quinn
+ * Revision 1.21 1996-02-21 12:55:51 quinn
+ * small
+ *
+ * Revision 1.20 1996/02/21 12:52:55 quinn
+ * Test
+ *
+ * Revision 1.19 1995/12/05 11:17:30 quinn
+ * Moved some paranthesises around. Sigh.
+ *
+ * Revision 1.18 1995/11/13 09:27:41 quinn
+ * Fiddling with the variant stuff.
+ *
+ * Revision 1.17 1995/11/07 12:37:44 quinn
+ * Added support for forcing TIMEOUT event.
+ *
+ * Revision 1.16 1995/11/01 13:54:56 quinn
* Minor adjustments
*
* Revision 1.15 1995/09/15 14:44:15 quinn
int event_loop()
{
- do
+ do /* loop as long as there are active associations to process */
{
IOCHAN p, nextp;
fd_set in, out, except;
time_t now = time(0);
p->force_event = 0;
- if (FD_ISSET(p->fd, &in) || force_event == EVENT_INPUT)
+ if (!p->destroyed && (FD_ISSET(p->fd, &in) || force_event ==
+ EVENT_INPUT))
{
p->last_event = now;
(*p->fun)(p, EVENT_INPUT);
p->last_event = now;
(*p->fun)(p, EVENT_EXCEPT);
}
- if (!p->destroyed && p->max_idle && now - p->last_event >
- p->max_idle)
+ if (!p->destroyed && ((p->max_idle && now - p->last_event >
+ p->max_idle) || force_event == EVENT_TIMEOUT))
{
p->last_event = now;
(*p->fun)(p, EVENT_TIMEOUT);