X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Fmodules%2Feventclient%2Fserv_eventclient.c;fp=citadel%2Fmodules%2Feventclient%2Fserv_eventclient.c;h=942234afdef080803b4eb519e8ca50d279731c93;hp=4a27c2482effb42bd47f7cbb99054218d58e63c8;hb=940d9b963644b835ec5d4f2b9cf627c2e3a6d915;hpb=dfecb9440698d3729ffc27833371cbd8011673a0 diff --git a/citadel/modules/eventclient/serv_eventclient.c b/citadel/modules/eventclient/serv_eventclient.c index 4a27c2482..942234afd 100644 --- a/citadel/modules/eventclient/serv_eventclient.c +++ b/citadel/modules/eventclient/serv_eventclient.c @@ -107,6 +107,8 @@ typedef struct _evcurl_global_data { ev_async WakeupCurl; evcurl_global_data global; +eNextState QueueAnDBOperation(AsyncIO *IO); + static void gotstatus(int nnrun) { @@ -200,6 +202,11 @@ gotstatus(int nnrun) switch(IO->SendDone(IO)) { case eDBQuery: + curl_easy_cleanup(IO->HttpReq.chnd); + IO->HttpReq.chnd = NULL; + FreeURL(&IO->ConnectMe); + QueueAnDBOperation(IO); + break; case eSendDNSQuery: case eReadDNSReply: case eConnect: