Forgot to release normalized xml record. Whoops.
[pazpar2-moved-to-github.git] / src / pazpar2.c
index 1f91e6a..4c3ab58 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: pazpar2.c,v 1.8 2007-01-03 16:59:32 quinn Exp $ */;
+/* $Id: pazpar2.c,v 1.10 2007-01-04 03:16:14 quinn Exp $ */;
 
 #include <stdlib.h>
 #include <stdio.h>
@@ -471,6 +471,8 @@ static struct record *ingest_record(struct client *cl, Z_External *rec)
             yaz_log(YLOG_WARN, "Unexpected element %s in internal record", n->name);
     }
 
+    xmlFreeDoc(xdoc);
+
     relevance_donerecord(se->relevance, head);
     se->total_records++;
 
@@ -1017,6 +1019,21 @@ int select_targets(struct session *se)
     return c;
 }
 
+int session_active_clients(struct session *s)
+{
+    struct client *c;
+    int res = 0;
+
+    for (c = s->clients; c; c = c->next)
+        if (c->connection && (c->state == Client_Connecting ||
+                    c->state == Client_Initializing ||
+                    c->state == Client_Searching ||
+                    c->state == Client_Presenting))
+            res++;
+
+    return res;
+}
+
 char *search(struct session *se, char *query)
 {
     int live_channels = 0;