Implemented the destroy_counter on HTTP commands. Only destroy HTTP session if no...
[pazpar2-moved-to-github.git] / src / session.c
index 3034f7e..ce5c635 100644 (file)
@@ -359,7 +359,7 @@ static int prepare_map(struct session *se, struct session_database *sdb)
             }
         }
         sdb->map = normalize_cache_get(se->normalize_cache,
-                                       se->service, s);
+                                       se->service->server->config, s);
         if (!sdb->map)
             return -1;
     }
@@ -523,8 +523,8 @@ enum pazpar2_error_code search(struct session *se,
     session_enter(se);
     reclist_destroy(se->reclist);
     se->reclist = 0;
-    nmem_reset(se->nmem);
     relevance_destroy(&se->relevance);
+    nmem_reset(se->nmem);
     se->total_records = se->total_hits = se->total_merged = 0;
     se->num_termlists = 0;
     live_channels = select_targets(se, filter);
@@ -669,6 +669,7 @@ void destroy_session(struct session *s)
 {
     struct session_database *sdb;
 
+    yaz_log(YLOG_DEBUG, "%p Pazpar2 session destroy", s);
     session_remove_clients(s);
 
     for (sdb = s->databases; sdb; sdb = sdb->next)
@@ -688,7 +689,7 @@ struct session *new_session(NMEM nmem, struct conf_service *service,
     int i;
     struct session *session = nmem_malloc(nmem, sizeof(*session));
 
-    yaz_log(YLOG_DEBUG, "New Pazpar2 session");
+    yaz_log(YLOG_DEBUG, "%p New Pazpar2 session", session);
 
     session->service = service;
     session->relevance = 0;