* Sebastian Hammer, Adam Dickmeiss
*
* $Log: eventl.c,v $
- * Revision 1.2 1995-03-14 10:27:59 quinn
+ * Revision 1.5 1995-03-15 08:37:41 quinn
+ * Now we're pretty much set for nonblocking I/O.
+ *
+ * Revision 1.4 1995/03/14 16:59:48 quinn
+ * Bug-fixes
+ *
+ * Revision 1.3 1995/03/14 11:30:14 quinn
+ * Works better now.
+ *
+ * Revision 1.2 1995/03/14 10:27:59 quinn
* More work on demo server.
*
* Revision 1.1 1995/03/10 18:22:44 quinn
new->flags = flags;
new->fun = cb;
new->next = iochans;
+ new->force_event = 0;
iochans = new;
return new;
}
FD_ZERO(&out);
FD_ZERO(&except);
timeout = 0; /* hang on select */
+ max = 0;
for (p = iochans; p; p = p->next)
{
if (p->force_event)
continue;
return 1;
}
- if (!res)
- continue;
for (p = iochans; p; p = nextp)
{
int force_event = p->force_event;
nextp = p->next;
if (FD_ISSET(p->fd, &in) || force_event == EVENT_INPUT)
(*p->fun)(p, EVENT_INPUT);
- if (!p->destroyed && (FD_ISSET(p->fd, &in) ||
+ if (!p->destroyed && (FD_ISSET(p->fd, &out) ||
force_event == EVENT_OUTPUT))
(*p->fun)(p, EVENT_OUTPUT);
if (!p->destroyed && (FD_ISSET(p->fd, &except) ||