aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/file.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/file.c b/lib/file.c
index e10fa8108..e411ac16d 100644
--- a/lib/file.c
+++ b/lib/file.c
@@ -174,6 +174,7 @@ CURLcode Curl_file(struct connectdata *conn)
char *buf = data->state.buffer;
curl_off_t bytecount = 0;
int fd;
+ struct timeval now = Curl_tvnow();
/* get the fd from the connection phase */
fd = conn->proto.file->fd;
@@ -239,6 +240,8 @@ CURLcode Curl_file(struct connectdata *conn)
if(conn->resume_from)
lseek(fd, conn->resume_from, SEEK_SET);
+ Curl_pgrsTime(data, TIMER_STARTTRANSFER);
+
while (res == CURLE_OK) {
nread = read(fd, buf, BUFSIZE-1);
@@ -258,8 +261,12 @@ CURLcode Curl_file(struct connectdata *conn)
if(res)
return res;
+ Curl_pgrsSetDownloadCounter(data, (double)bytecount);
+
if(Curl_pgrsUpdate(conn))
res = CURLE_ABORTED_BY_CALLBACK;
+ else
+ res = Curl_speedcheck (data, now);
}
if(Curl_pgrsUpdate(conn))
res = CURLE_ABORTED_BY_CALLBACK;