Add client_{lock,unlock} before call to non_block_events
[pazpar2-moved-to-github.git] / src / connection.c
index 2524434..41e693c 100644 (file)
@@ -216,7 +216,7 @@ static void non_block_events(struct connection *co)
         ev = ZOOM_connection_last_event(link);
 
 #if 1
-        yaz_log(YLOG_LOG, "%p Connection ZOOM_EVENT_%s", co, ZOOM_get_event_str(ev));
+        yaz_log(YLOG_DEBUG, "%p Connection ZOOM_EVENT_%s", co, ZOOM_get_event_str(ev));
 #endif
         switch (ev)
         {
@@ -284,7 +284,13 @@ void connection_continue(struct connection *co)
 {
     int r = ZOOM_connection_exec_task(co->link);
     if (!r)
+    {
+        struct client *cl = co->client;
+
+        client_lock(cl);
         non_block_events(co);
+        client_unlock(cl);
+    }
     else
     {
         iochan_setflags(co->iochan, ZOOM_connection_get_mask(co->link));