From f95effdacf8ef4400ad49059f00570f0bc8403aa Mon Sep 17 00:00:00 2001
From: brad kittenbrink <brad@lindenlab.com>
Date: Fri, 17 Dec 2010 15:59:51 -0800
Subject: [PATCH] Better fix for CHOP-286 - reenabled bandwidth limits on linux
 now that we've fixed the freeze.

---
 indra/viewer_components/updater/llupdatedownloader.cpp | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/indra/viewer_components/updater/llupdatedownloader.cpp b/indra/viewer_components/updater/llupdatedownloader.cpp
index 85261a3252a..e88d1bf811d 100644
--- a/indra/viewer_components/updater/llupdatedownloader.cpp
+++ b/indra/viewer_components/updater/llupdatedownloader.cpp
@@ -427,13 +427,9 @@ void LLUpdateDownloader::Implementation::initializeCurlGet(std::string const & u
 	throwOnCurlError(curl_easy_setopt(mCurl, CURLOPT_PROGRESSFUNCTION, &progress_callback));
 	throwOnCurlError(curl_easy_setopt(mCurl, CURLOPT_PROGRESSDATA, this));
 	throwOnCurlError(curl_easy_setopt(mCurl, CURLOPT_NOPROGRESS, false));
-#if LL_WINDOWS || LL_DARWIN   // temporary workaround for CHOP-286 (bandwidth limits freeze the downloader thread on linux)
-	if((mBandwidthLimit != 0) && !mDownloadData["required"].asBoolean()) {
-		throwOnCurlError(curl_easy_setopt(mCurl, CURLOPT_MAX_RECV_SPEED_LARGE, mBandwidthLimit));
-	} else {
-		throwOnCurlError(curl_easy_setopt(mCurl, CURLOPT_MAX_RECV_SPEED_LARGE, -1));
-	}
-#endif // LL_WINDOWS || LL_DARWIN
+	// if it's a required update set the bandwidth limit to 0 (unlimited)
+	curl_off_t limit = mDownloadData["required"].asBoolean() ? 0 : mBandwidthLimit;
+	throwOnCurlError(curl_easy_setopt(mCurl, CURLOPT_MAX_RECV_SPEED_LARGE, limit));
 	
 	mDownloadPercent = 0;
 }
-- 
GitLab