summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2010-09-22 14:44:40 -0600
committerXiaohong Bao <bao@lindenlab.com>2010-09-22 14:44:40 -0600
commitdfe12745523d2b3d5c1720bec211555c09437a87 (patch)
treebf54e13b9ce78e47491a23456dbb144ac64c7b61 /indra
parentfc0a15ed5f5099556ad3fca3e07d92e974e6b9d4 (diff)
fix for SH-173/VWR-22868: Development Viewer freezes just after startup / greedy with file handles / 'WARNING: ll_apr_warn_status: APR: Too many open files'
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/lltexturefetch.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp
index 7d09ea5b4f..d6d38de225 100644
--- a/indra/newview/lltexturefetch.cpp
+++ b/indra/newview/lltexturefetch.cpp
@@ -858,10 +858,16 @@ bool LLTextureFetchWorker::doWork(S32 param)
if(mCanUseHTTP)
{
//NOTE:
- //it seems ok to let sim control the UDP traffic
- //so there is no throttle for http here.
+ //control the number of the http requests issued for:
+ //1, not openning too many file descriptors at the same time;
+ //2, control the traffic of http so udp gets bandwidth.
//
-
+ static const S32 MAX_NUM_OF_HTTP_REQUESTS_IN_QUEUE = 32 ;
+ if(mFetcher->getNumHTTPRequests() > MAX_NUM_OF_HTTP_REQUESTS_IN_QUEUE)
+ {
+ return false ; //wait.
+ }
+
mFetcher->removeFromNetworkQueue(this, false);
S32 cur_size = 0;