]> granicus.if.org Git - curl/commitdiff
timer: restore PRETRANSFER timing
authorDaniel Stenberg <daniel@haxx.se>
Tue, 20 Dec 2011 13:59:46 +0000 (14:59 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 20 Dec 2011 13:59:46 +0000 (14:59 +0100)
Regression introduced in 7.23.0 with commit 9dd85bce. The function in
which the PRETRANSFER time stamp was recorded was moved in time causing
it be stored very quickly after the start timestamp. On most systems
shorter than 1 millisecond and thus it wouldn't even show with -w
"%{time_pretransfer}" using the command line tool.

Bug: http://curl.haxx.se/mail/archive-2011-12/0022.html
Reported by: Toni Moreno

lib/url.c

index b0ec7c41fc4ea58c274cdc0f1f544012728501e9..a4aadb28da9dd1d14a2cb5269dd3062c62d06f20 100644 (file)
--- a/lib/url.c
+++ b/lib/url.c
@@ -5390,7 +5390,6 @@ static CURLcode do_init(struct connectdata *conn)
   k->hbufp = data->state.headerbuff;
   k->ignorebody=FALSE;
 
-  Curl_pgrsTime(data, TIMER_PRETRANSFER);
   Curl_speedinit(data);
 
   Curl_pgrsSetUploadCounter(data, 0);
@@ -5410,6 +5409,7 @@ static void do_complete(struct connectdata *conn)
   conn->data->req.chunk=FALSE;
   conn->data->req.maxfd = (conn->sockfd>conn->writesockfd?
                            conn->sockfd:conn->writesockfd)+1;
+  Curl_pgrsTime(conn->data, TIMER_PRETRANSFER);
 }
 
 CURLcode Curl_do(struct connectdata **connp, bool *done)