44 lines
1.8 KiB
Diff
44 lines
1.8 KiB
Diff
|
From 69e00fc506e6a6d368a6e276eeb376e3d88b2fc7 Mon Sep 17 00:00:00 2001
|
||
|
From: Colin Walters <walters@verbum.org>
|
||
|
Date: Mon, 27 Nov 2017 11:05:07 -0500
|
||
|
Subject: [PATCH] fetcher/curl: Stop using CURLOPT_LOW_SPEED_TIME/_LIMIT
|
||
|
|
||
|
They don't play nicely currently with HTTP2 where we may
|
||
|
have lots of requests queued.
|
||
|
|
||
|
https://github.com/ostreedev/ostree/issues/878#issuecomment-347228854
|
||
|
|
||
|
In practice anyways I think issues here are better solved on a higher level -
|
||
|
e.g. apps today can use an overall timeout on pulls and if they exceed the limit
|
||
|
set the cancellable.
|
||
|
|
||
|
Closes: #1349
|
||
|
Approved by: alexlarsson
|
||
|
---
|
||
|
src/libostree/ostree-fetcher-curl.c | 9 +++++++--
|
||
|
1 file changed, 7 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/src/libostree/ostree-fetcher-curl.c b/src/libostree/ostree-fetcher-curl.c
|
||
|
index 8a23b163..58835529 100644
|
||
|
--- a/src/libostree/ostree-fetcher-curl.c
|
||
|
+++ b/src/libostree/ostree-fetcher-curl.c
|
||
|
@@ -788,8 +788,13 @@ initiate_next_curl_request (FetcherRequest *req,
|
||
|
curl_easy_setopt (req->easy, CURLOPT_PROGRESSFUNCTION, prog_cb);
|
||
|
curl_easy_setopt (req->easy, CURLOPT_FOLLOWLOCATION, 1L);
|
||
|
curl_easy_setopt (req->easy, CURLOPT_CONNECTTIMEOUT, 30L);
|
||
|
- curl_easy_setopt (req->easy, CURLOPT_LOW_SPEED_LIMIT, 1L);
|
||
|
- curl_easy_setopt (req->easy, CURLOPT_LOW_SPEED_TIME, 30L);
|
||
|
+ /* We used to set CURLOPT_LOW_SPEED_LIMIT and CURLOPT_LOW_SPEED_TIME
|
||
|
+ * here, but see https://github.com/ostreedev/ostree/issues/878#issuecomment-347228854
|
||
|
+ * basically those options don't play well with HTTP2 at the moment
|
||
|
+ * where we can have lots of outstanding requests. Further,
|
||
|
+ * we could implement that functionality at a higher level
|
||
|
+ * more consistently too.
|
||
|
+ */
|
||
|
|
||
|
/* closure bindings -> task */
|
||
|
curl_easy_setopt (req->easy, CURLOPT_PRIVATE, task);
|
||
|
--
|
||
|
2.14.2
|
||
|
|