Added more HTTP session logging
[pazpar2-moved-to-github.git] / src / http_command.c
index 6e80a52..b191628 100644 (file)
@@ -121,7 +121,7 @@ struct http_session *http_session_create(struct conf_service *service,
 
     r->timeout_iochan = iochan_create(-1, session_timeout, 0, "http_session_timeout");
     iochan_setdata(r->timeout_iochan, r);
-    yaz_log(YLOG_LOG, "timeout=%d", service->session_timeout);
+    yaz_log(YLOG_LOG, "%p HTTP session %u created. timeout chan=%p timeout=%d", r, sesid, r->timeout_iochan, service->session_timeout);
     iochan_settimeout(r->timeout_iochan, service->session_timeout);
 
     iochan_add(service->server->iochan_man, r->timeout_iochan);
@@ -134,7 +134,7 @@ void http_session_destroy(struct http_session *s)
 
     http_sessions_t http_sessions = s->http_sessions;
 
-    yaz_log(YLOG_LOG, "http_session_destroy %u", s->session_id);
+    yaz_log(YLOG_LOG, "%p HTTP session destroy %u", s, s->session_id);
     yaz_mutex_enter(http_sessions->mutex);
 
     /* only if http_session destroy was already called, we will allow it
@@ -142,11 +142,6 @@ void http_session_destroy(struct http_session *s)
     if (s->destroy_counter != s->activity_counter)
         must_destroy = 0;
 
-    /* only if there are no active Z39.50 clients we will allow it to be
-       destroyed */
-    if (session_active_clients(s->psession))
-        must_destroy = 0;
-
     s->destroy_counter = s->activity_counter = 0;
     if (must_destroy)
     {
@@ -161,11 +156,14 @@ void http_session_destroy(struct http_session *s)
     yaz_mutex_leave(http_sessions->mutex);
     if (must_destroy)
     {   /* destroying for real */
-        yaz_log(YLOG_LOG, "Destroying session %u", s->session_id);
-        iochan_destroy(s->timeout_iochan);
+               yaz_log(YLOG_LOG, "%p HTTP session destroying. session id %u", s, s->session_id);               iochan_destroy(s->timeout_iochan);
         destroy_session(s->psession);
         nmem_destroy(s->nmem);
     }
+    else {
+        yaz_log(YLOG_DEBUG, "%p HTTP Session. Active clients on session %u. Waiting for new timeout.", s, s->session_id);
+    }
+
 }
 
 static const char *get_msg(enum pazpar2_error_code code)