]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-http: Track request's first and last send attempt times separately.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 10 Apr 2017 09:53:43 +0000 (12:53 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 10 Apr 2017 10:29:51 +0000 (13:29 +0300)
src/lib-http/http-client-private.h
src/lib-http/http-client-request.c

index 83c755c0757e9d4b99693027115335bbc537bc5f..00b05f4ac2a73ea99bf48489135344e2a14494bb 100644 (file)
@@ -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;
index 88fb90db80c27ba9f62101466415222fa0257377..99a0d5619ce52d3ae76f9163248a16b2896eba14 100644 (file)
@@ -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;