]> code.citadel.org Git - citadel.git/blobdiff - citadel/event_client.c
Fix memleaks
[citadel.git] / citadel / event_client.c
index f893548e421e85342ec5d37dd31f4560d940ea64..d87d6697f8bfc0ea79489cea15be4617bb87cd02 100644 (file)
@@ -227,18 +227,6 @@ eNextState QueueCurlContext(AsyncIO *IO)
        return eSendReply;
 }
 
-int ShutDownEventQueue(void)
-{
-       pthread_mutex_lock(&DBEventQueueMutex);
-       ev_async_send (event_db, &DBExitEventLoop);
-       pthread_mutex_unlock(&DBEventQueueMutex);
-
-       pthread_mutex_lock(&EventQueueMutex);
-       ev_async_send (EV_DEFAULT_ &ExitEventLoop);
-       pthread_mutex_unlock(&EventQueueMutex);
-       return 0;
-}
-
 void FreeAsyncIOContents(AsyncIO *IO)
 {
        FreeStrBuf(&IO->IOBuf);
@@ -700,9 +688,15 @@ IO_postdns_callback(struct ev_loop *loop, ev_idle *watcher, int revents)
        switch (IO->DNSQuery->PostDNS(IO))
        {
        case eAbort:
-               IO->DNSFail(IO);
+               switch (IO->DNSFail(IO)) {
+               case eAbort:
+                       ShutDownCLient(IO);
+               default:
+                       break;
+                       
+               }
        default:
-           break;
+               break;
        }
 }