X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Feventclient%2Fserv_eventclient.c;h=2260446a29671af6db5cb85f81065629f7817a0f;hb=7b5b6987e1077892e01f9ebdb1f27374011af6db;hp=f7e286a9ab14cf6188f352b52ac036224df99982;hpb=12419374c8266f3855a119e3676a38ec812fc158;p=citadel.git diff --git a/citadel/modules/eventclient/serv_eventclient.c b/citadel/modules/eventclient/serv_eventclient.c index f7e286a9a..2260446a2 100644 --- a/citadel/modules/eventclient/serv_eventclient.c +++ b/citadel/modules/eventclient/serv_eventclient.c @@ -154,7 +154,7 @@ gotstatus(int nnrun) EVCURLM_syslog(LOG_DEBUG, "request complete\n"); - IO->Now = ev_now(event_base); + IO->CitContext->lastcmd = IO->Now = ev_now(event_base); ev_io_stop(event_base, &IO->recv_event); ev_io_stop(event_base, &IO->send_event); @@ -188,6 +188,7 @@ gotstatus(int nnrun) curl_slist_free_all(IO->HttpReq.headers); + IO->HttpReq.headers = NULL; msta = curl_multi_remove_handle(global.mhnd, chnd); if (msta) EVCURL_syslog(LOG_ERR, @@ -289,7 +290,7 @@ gotdata(void *data, size_t size, size_t nmemb, void *cglobal) { IO->HttpReq.ReplyData = NewStrBufPlain(NULL, SIZ); } - IO->Now = ev_now(event_base); + IO->CitContext->lastcmd = IO->Now = ev_now(event_base); return CurlFillStrBuf_callback(data, size, nmemb, @@ -350,7 +351,7 @@ gotwatchsock(CURL *easy, } SetEVState(IO, eCurlGotIO); - IO->Now = ev_now(event_base); + IO->CitContext->lastcmd = IO->Now = ev_now(event_base); Action = ""; switch (action) @@ -509,10 +510,11 @@ static void IOcurl_abort_shutdown_callback(struct ev_loop *loop, return; SetEVState(IO, eCurlShutdown); - IO->Now = ev_now(event_base); + IO->CitContext->lastcmd = IO->Now = ev_now(event_base); EVCURL_syslog(LOG_DEBUG, "EVENT Curl: %s\n", __FUNCTION__); curl_slist_free_all(IO->HttpReq.headers); + IO->HttpReq.headers = NULL; msta = curl_multi_remove_handle(global.mhnd, IO->HttpReq.chnd); if (msta) { @@ -530,6 +532,7 @@ static void IOcurl_abort_shutdown_callback(struct ev_loop *loop, assert(IO->ShutdownAbort); IO->ShutdownAbort(IO); } + eNextState evcurl_handle_start(AsyncIO *IO) { @@ -655,7 +658,7 @@ static void QueueEventAddCallback(EV_P_ ev_async *w, int revents) Ctx = h->IO->CitContext; become_session(Ctx); - h->IO->Now = Now; + h->IO->CitContext->lastcmd = h->IO->Now = Now; switch (h->EvAttch(h->IO)) { case eReadMore: @@ -805,7 +808,7 @@ static void DBQueueEventAddCallback(EV_P_ ev_async *w, int revents) IOID = h->IO->ID; if (h->IO->StartDB == 0.0) h->IO->StartDB = Now; - h->IO->Now = Now; + h->IO->CitContext->lastcmd = h->IO->Now = Now; SetEVState(h->IO, eDBAttach); Ctx = h->IO->CitContext;