diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2018-11-20T18·07+0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-20T18·07+0100 |
commit | ebeea068d52abd02adbbfed3a0f7555300d6b048 (patch) | |
tree | fff808c98db200e68bbeacd2f70789fad12fa3a1 /src/libstore/download.cc | |
parent | 5e64470b192271ce60bea2f5c5fcc556227f86a1 (diff) | |
parent | 6bf7dc1baf272b37aa2731544f00491402d323ff (diff) |
Merge pull request #2216 from dtzWill/fix/curl-760-timeout
download: if there are active requests, never sleep for 10s
Diffstat (limited to 'src/libstore/download.cc')
-rw-r--r-- | src/libstore/download.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libstore/download.cc b/src/libstore/download.cc index f44f1836b31e..7773d903265b 100644 --- a/src/libstore/download.cc +++ b/src/libstore/download.cc @@ -528,10 +528,11 @@ struct CurlDownloader : public Downloader extraFDs[0].fd = wakeupPipe.readSide.get(); extraFDs[0].events = CURL_WAIT_POLLIN; extraFDs[0].revents = 0; + long maxSleepTimeMs = items.empty() ? 10000 : 100; auto sleepTimeMs = nextWakeup != std::chrono::steady_clock::time_point() ? std::max(0, (int) std::chrono::duration_cast<std::chrono::milliseconds>(nextWakeup - std::chrono::steady_clock::now()).count()) - : 10000; + : maxSleepTimeMs; vomit("download thread waiting for %d ms", sleepTimeMs); mc = curl_multi_wait(curlm, extraFDs, 1, sleepTimeMs, &numfds); if (mc != CURLM_OK) |