aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2007-04-18 20:02:41 +0000
committerDaniel Stenberg <daniel@haxx.se>2007-04-18 20:02:41 +0000
commit8e719e3ef5ad90b7f8ad9c82a853df1afb23afd7 (patch)
tree8351599be56a88427956a1e2abee913fd3867d53
parent66fc5498d2a50dd7f32cd21487252de1dd834dda (diff)
- Prevent the internal progress meter from updating more frequently than once
per second.
-rw-r--r--CHANGES4
-rw-r--r--RELEASE-NOTES3
-rw-r--r--lib/progress.c11
3 files changed, 16 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index 8ca34603a..8b1c024c3 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,10 @@
Changelog
+Daniel S (18 April 2007)
+- Prevent the internal progress meter from updating more frequently than once
+ per second.
+
Dan F (17 April 2007)
- Added test cases 296, 297 and 298 to test --ftp-method handling
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 1a6239a15..c70daa222 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -21,6 +21,7 @@ This release includes the following bugfixes:
new host on the net with the same silly domain the test was using
for a host which was supposed not to exist.
o test suite SSL certificate works better with newer stunnel
+ o internal progress meter update frequency back to once per second
This release includes the following known bugs:
@@ -29,6 +30,8 @@ This release includes the following known bugs:
Other curl-related news:
o PycURL 7.16.2 was released: http://pycurl.sf.net/
+ o TclCurl 7.16.2 was released:
+ http://personal1.iddeo.es/andresgarci/tclcurl/english/
New curl mirrors:
diff --git a/lib/progress.c b/lib/progress.c
index 9d9096069..ad09938f8 100644
--- a/lib/progress.c
+++ b/lib/progress.c
@@ -245,6 +245,7 @@ int Curl_pgrsUpdate(struct connectdata *conn)
long ulestimate=0;
long dlestimate=0;
long total_estimate;
+ bool shownow=FALSE;
now = Curl_tvnow(); /* what time is it */
@@ -266,6 +267,7 @@ int Curl_pgrsUpdate(struct connectdata *conn)
/* Calculations done at most once a second, unless end is reached */
if(data->progress.lastshow != (long)now.tv_sec) {
+ shownow = TRUE;
data->progress.lastshow = now.tv_sec;
@@ -346,7 +348,12 @@ int Curl_pgrsUpdate(struct connectdata *conn)
return result;
}
- /* If there's no external callback set, use internal code to show progress */
+ if(!shownow)
+ /* only show the internal progress meter once per second */
+ return 0;
+
+ /* If there's no external callback set, use internal code to show
+ progress */
if(!(data->progress.flags & PGRS_HEADERS_OUT)) {
if(data->reqdata.resume_from) {
@@ -422,7 +429,7 @@ int Curl_pgrsUpdate(struct connectdata *conn)
/* we flush the output stream to make it appear as soon as possible */
fflush(data->set.err);
- }
+ } /* !(data->progress.flags & PGRS_HIDE) */
return 0;
}