← Commit list

ba65073037

Stefan Eissing
Stefan Eissing
2025-11-25
SUCCESS Duration: 149s

Subject

speedlimit: also reset on send unpausing

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

lib/progress.c+8 -0
@@ -196,6 +196,14 @@ void Curl_pgrsRecvPause(struct Curl_easy *data, bool enable)
}
}
+void Curl_pgrsSendPause(struct Curl_easy *data, bool enable)
+{
+ if(!enable) {
+ data->progress.speeder_c = 0; /* reset speed records */
+ pgrs_speedinit(data); /* reset low speed measurements */
+ }
+}
+
/*
*
* Curl_pgrsTimeWas(). Store the timestamp time at the given label.
lib/progress.h+2 -1
@@ -59,8 +59,9 @@ void Curl_pgrsUpdate_nometer(struct Curl_easy *data);
/* perform progress update with callbacks and speed checks */
CURLcode Curl_pgrsCheck(struct Curl_easy *data);
-/* Inform progress/speedcheck about receive pausing */
+/* Inform progress/speedcheck about receive/send pausing */
void Curl_pgrsRecvPause(struct Curl_easy *data, bool enable);
+void Curl_pgrsSendPause(struct Curl_easy *data, bool enable);
/* Reset sizes and couners for up- and download. */
void Curl_pgrsReset(struct Curl_easy *data);
lib/transfer.c+1 -0
@@ -925,6 +925,7 @@ CURLcode Curl_xfer_pause_send(struct Curl_easy *data, bool enable)
Curl_rlimit_block(&data->progress.ul.rlimit, enable, curlx_now());
if(!enable && Curl_creader_is_paused(data))
result = Curl_creader_unpause(data);
+ Curl_pgrsSendPause(data, enable);
return result;
}