GFS: close connection immediately if EOF is received.
authorAdam Dickmeiss <adam@indexdata.dk>
Thu, 11 Aug 2011 08:33:38 +0000 (10:33 +0200)
committerAdam Dickmeiss <adam@indexdata.dk>
Thu, 11 Aug 2011 08:33:38 +0000 (10:33 +0200)
Previously the assocation was marked DEAD and that could lead to
a few seconds hang on SSL connections.

src/seshigh.c

index c2311bb..be9c54c 100644 (file)
@@ -298,7 +298,9 @@ int ir_read(IOCHAN h, int event)
             else if (res <= 0)
             {
                 yaz_log(log_session, "Connection closed by client");
             else if (res <= 0)
             {
                 yaz_log(log_session, "Connection closed by client");
-                assoc->state = ASSOC_DEAD;
+                cs_close(conn);
+                destroy_association(assoc);
+                iochan_destroy(h);
                 return 0;
             }
             else if (res == 1) /* incomplete read - wait for more  */
                 return 0;
             }
             else if (res == 1) /* incomplete read - wait for more  */