]> code.citadel.org Git - citadel.git/blobdiff - citadel/modules/eventclient/serv_eventclient.c
Libev/libc-ares migration: cleanup
[citadel.git] / citadel / modules / eventclient / serv_eventclient.c
index ecd5cf67d3562675e7bdb5f9476eeaff44ece443..a200754dc8a10f5821e8419bc30c5b425538a6b1 100644 (file)
@@ -107,7 +107,8 @@ static void QueueEventAddCallback(struct ev_loop *loop, ev_io *watcher, int reve
                /////event_del(&queue_add_event);
                close(event_add_pipe[0]);
 /// TODO; flush QueueEvents fd's and delete it.
-               ev_io_stop(event_base, NULL);
+               ev_io_stop(event_base, &queue_add_event);
+               ev_unloop(event_base, EVUNLOOP_ALL);
        }
        /* Unblock the other side */
 //     read(fd, buf, 1);
@@ -175,7 +176,14 @@ void *client_event_thread(void *arg)
        ev_loop (event_base, 0);
        CtdlClearSystemContext();
        ev_default_destroy ();
+       
+       DeleteHash(&QueueEvents);
+       InboundEventQueue = NULL;
+       DeleteHash(&InboundEventQueues[0]);
+       DeleteHash(&InboundEventQueues[1]);
        citthread_mutex_destroy(&EventQueueMutex);
+
+
        return(NULL);
 }