Fixed bug in timeout code. Added BER dumper.
authorSebastian Hammer <quinn@indexdata.com>
Mon, 19 Jun 1995 12:39:09 +0000 (12:39 +0000)
committerSebastian Hammer <quinn@indexdata.com>
Mon, 19 Jun 1995 12:39:09 +0000 (12:39 +0000)
server/eventl.c
server/eventl.h
server/seshigh.c

index 7946839..5fb960d 100644 (file)
@@ -4,7 +4,10 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: eventl.c,v $
- * Revision 1.10  1995-06-16 10:31:33  quinn
+ * 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 +86,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 = 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)
index 3b694a4..55a6ceb 100644 (file)
@@ -4,7 +4,10 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: eventl.h,v $
- * Revision 1.7  1995-06-16 10:31:34  quinn
+ * Revision 1.8  1995-06-19 12:39:09  quinn
+ * Fixed bug in timeout code. Added BER dumper.
+ *
+ * Revision 1.7  1995/06/16  10:31:34  quinn
  * Added session timeout.
  *
  * Revision 1.6  1995/05/16  08:51:02  quinn
@@ -68,7 +71,7 @@ int force_event;
 #define iochan_setfun(i, d) ((i)->fun = d)
 #define iochan_setevent(i, e) ((i)->force_event = (e))
 #define iochan_getnext(i) ((i)->next)
-#define iochan_settimeout(i, t) ((i)->max_idle = (t))
+#define iochan_settimeout(i, t) ((i)->max_idle = (t), (i)->last_event = time(0))
 
 IOCHAN iochan_getchan(void);
 IOCHAN iochan_create(int fd, IOC_CALLBACK cb, int flags);
index c1d5350..174c73a 100644 (file)
@@ -4,7 +4,10 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: seshigh.c,v $
- * Revision 1.37  1995-06-16 13:16:14  quinn
+ * Revision 1.38  1995-06-19 12:39:11  quinn
+ * Fixed bug in timeout code. Added BER dumper.
+ *
+ * Revision 1.37  1995/06/16  13:16:14  quinn
  * Fixed Defaultdiagformat.
  *
  * Revision 1.36  1995/06/16  10:31:36  quinn
@@ -327,8 +330,10 @@ void ir_session(IOCHAN h, int event)
            odr_setbuf(assoc->decode, assoc->input_buffer, res, 0);
            if (!z_APDU(assoc->decode, &req->request, 0))
            {
-               logf(LOG_WARN, "ODR error: %s",
+               logf(LOG_LOG, "ODR error on incoming PDU: %s",
                    odr_errlist[odr_geterror(assoc->decode)]);
+               logf(LOG_LOG, "PDU dump:");
+               odr_dumpBER(log_file(), assoc->input_buffer, res);
                cs_close(conn);
                destroy_association(assoc);
                iochan_destroy(h);