Commit 8e719e3e authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

- Prevent the internal progress meter from updating more frequently than once

  per second.
parent 66fc5498
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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

+3 −0
Original line number Diff line number Diff line
@@ -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:

+9 −2
Original line number Diff line number Diff line
@@ -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;
}