summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2010-06-16 14:03:56 -0600
committerXiaohong Bao <bao@lindenlab.com>2010-06-16 14:03:56 -0600
commit5c7911f1e2cb060e5e2353cec01a7ecc09f05126 (patch)
tree756deed98591c88ed586e6a0c4bdf4a48a3e1911 /indra
parent8108de817c32e3e4f7337b76534987c3be54bedc (diff)
EXT-7032: POSSIBLE FIXED: [crashhunters] crash in libcurl background thread on windows
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/lltexturefetch.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp
index ffd0330ace..ceed90e210 100644
--- a/indra/newview/lltexturefetch.cpp
+++ b/indra/newview/lltexturefetch.cpp
@@ -596,6 +596,11 @@ bool LLTextureFetchWorker::doWork(S32 param)
return true; // abort
}
}
+ if(mState > CACHE_POST && !mCanUseNET && !mCanUseHTTP)
+ {
+ //nowhere to get data, abort.
+ return true ;
+ }
if (mFetcher->mDebugPause)
{
@@ -784,7 +789,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
}
// don't return, fall through to next state
}
- else if (mSentRequest == UNSENT)
+ else if (mSentRequest == UNSENT && mCanUseNET)
{
// Add this to the network queue and sit here.
// LLTextureFetch::update() will send off a request which will change our state
@@ -837,6 +842,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
if (mState == SEND_HTTP_REQ)
{
+ if(mCanUseHTTP)
{
const S32 HTTP_QUEUE_MAX_SIZE = 8;
// *TODO: Integrate this with llviewerthrottle
@@ -902,6 +908,10 @@ bool LLTextureFetchWorker::doWork(S32 param)
}
// fall through
}
+ else //can not use http fetch.
+ {
+ return true ; //abort
+ }
}
if (mState == WAIT_HTTP_REQ)