Added code to receive close
[yaz-moved-to-github.git] / server / eventl.c
index 7946839..8eb2958 100644 (file)
@@ -4,7 +4,16 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: eventl.c,v $
- * Revision 1.10  1995-06-16 10:31:33  quinn
+ * Revision 1.13  1995-08-29 11:17:56  quinn
+ * Added code to receive close
+ *
+ * Revision 1.12  1995/08/29  10:41:18  quinn
+ * Small.
+ *
+ * Revision 1.11  1995/06/19  12:39:09  quinn
+ * Fixed bug in timeout code. Added BER dumper.
+ *
+ * Revision 1.10  1995/06/16  10:31:33  quinn
  * Added session timeout.
  *
  * Revision 1.9  1995/06/05  10:53:31  quinn
@@ -83,18 +92,20 @@ int event_loop()
        IOCHAN p, nextp;
        fd_set in, out, except;
        int res, max;
-       static struct timeval nullto = {0, 0}, to = {60*5, 0};
+       static struct timeval nullto = {0, 0}, to;
        struct timeval *timeout;
 
        FD_ZERO(&in);
        FD_ZERO(&out);
        FD_ZERO(&except);
        timeout = &to; /* hang on select */
+       to.tv_sec = 10/*5*60*/;
+       to.tv_usec = 0;
        max = 0;
        for (p = iochans; p; p = p->next)
        {
            if (p->force_event)
-               timeout = &nullto;
+               timeout = &nullto;        /* polling select */
            if (p->flags & EVENT_INPUT)
                FD_SET(p->fd, &in);
            if (p->flags & EVENT_OUTPUT)
@@ -135,7 +146,10 @@ int event_loop()
            }
            if (!p->destroyed && p->max_idle && now - p->last_event >
                p->max_idle)
+           {
+               p->last_event = now;
                (*p->fun)(p, EVENT_TIMEOUT);
+           }
        }
        for (p = iochans; p; p = nextp)
        {