summaryrefslogtreecommitdiff
path: root/indra/llcorehttp/_httprequestqueue.cpp
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2021-05-21 20:06:41 +0300
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2021-06-03 21:31:30 +0300
commit823f97ac59e4eb11746cc38d330c223313a5a8fa (patch)
tree4ea1872388ebc12d99feecb4735462a81df0f12e /indra/llcorehttp/_httprequestqueue.cpp
parent2922c593160f81d19f39d80fc84a25c2a0e0d8aa (diff)
SL-15272 Bugsplat crashes at condition wait()
Made sure all waits will be triggered, won't loop back and that in case of http queue it had some time to trigger
Diffstat (limited to 'indra/llcorehttp/_httprequestqueue.cpp')
-rw-r--r--indra/llcorehttp/_httprequestqueue.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/indra/llcorehttp/_httprequestqueue.cpp b/indra/llcorehttp/_httprequestqueue.cpp
index c6f4ad789f..ad72bdcce6 100644
--- a/indra/llcorehttp/_httprequestqueue.cpp
+++ b/indra/llcorehttp/_httprequestqueue.cpp
@@ -142,13 +142,19 @@ void HttpRequestQueue::wakeAll()
}
-void HttpRequestQueue::stopQueue()
+bool HttpRequestQueue::stopQueue()
{
{
HttpScopedLock lock(mQueueMutex);
- mQueueStopped = true;
- wakeAll();
+ if (!mQueueStopped)
+ {
+ mQueueStopped = true;
+ wakeAll();
+ return true;
+ }
+ wakeAll();
+ return false;
}
}