From: Timo Sirainen Date: Mon, 10 Apr 2017 09:53:43 +0000 (+0300) Subject: lib-http: Track request's first and last send attempt times separately. X-Git-Tag: 2.2.29~14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7ec45b513a5de83bc62ace5e1e265e5fec59c352;p=thirdparty%2Fdovecot%2Fcore.git lib-http: Track request's first and last send attempt times separately. --- diff --git a/src/lib-http/http-client-private.h b/src/lib-http/http-client-private.h index 83c755c075..00b05f4ac2 100644 --- a/src/lib-http/http-client-private.h +++ b/src/lib-http/http-client-private.h @@ -99,6 +99,7 @@ struct http_client_request { struct timeval release_time; struct timeval submit_time; + struct timeval first_sent_time; struct timeval sent_time; struct timeval response_time; struct timeval timeout_time; diff --git a/src/lib-http/http-client-request.c b/src/lib-http/http-client-request.c index 88fb90db80..99a0d5619c 100644 --- a/src/lib-http/http-client-request.c +++ b/src/lib-http/http-client-request.c @@ -1192,6 +1192,8 @@ static int http_client_request_send_real(struct http_client_request *req, iov[2].iov_len = 2; req->state = HTTP_REQUEST_STATE_PAYLOAD_OUT; + if (req->first_sent_time.tv_sec == 0) + req->first_sent_time = ioloop_timeval; req->sent_time = ioloop_timeval; req->sent_lock_usecs = file_lock_wait_get_total_usecs(); req->sent_global_ioloop_usecs = ioloop_global_wait_usecs;