Merge pull request #2216 from dtzWill/fix/curl-760-timeout
download: if there are active requests, never sleep for 10s
This commit is contained in:
		
						commit
						ebeea068d5
					
				
					 1 changed files with 2 additions and 1 deletions
				
			
		|  | @ -528,10 +528,11 @@ struct CurlDownloader : public Downloader | ||||||
|             extraFDs[0].fd = wakeupPipe.readSide.get(); |             extraFDs[0].fd = wakeupPipe.readSide.get(); | ||||||
|             extraFDs[0].events = CURL_WAIT_POLLIN; |             extraFDs[0].events = CURL_WAIT_POLLIN; | ||||||
|             extraFDs[0].revents = 0; |             extraFDs[0].revents = 0; | ||||||
|  |             long maxSleepTimeMs = items.empty() ? 10000 : 100; | ||||||
|             auto sleepTimeMs = |             auto sleepTimeMs = | ||||||
|                 nextWakeup != std::chrono::steady_clock::time_point() |                 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()) |                 ? 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); |             vomit("download thread waiting for %d ms", sleepTimeMs); | ||||||
|             mc = curl_multi_wait(curlm, extraFDs, 1, sleepTimeMs, &numfds); |             mc = curl_multi_wait(curlm, extraFDs, 1, sleepTimeMs, &numfds); | ||||||
|             if (mc != CURLM_OK) |             if (mc != CURLM_OK) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue