summaryrefslogtreecommitdiff
path: root/indra/llcommon/llthreadsafequeue.h
diff options
context:
space:
mode:
authorJonathan "Geenz" Goodman <geenz@geenzo.com>2025-09-18 15:23:26 -0400
committerJonathan "Geenz" Goodman <geenz@geenzo.com>2025-09-18 15:23:26 -0400
commit82e431e0906647dcfc4a64b057e6bc305c9add8e (patch)
tree9a1431c0c311de41388879b31f26c6faa8bf5e89 /indra/llcommon/llthreadsafequeue.h
parentbadeccbebcfa73a11cf0f8a4562c9a0d386834c1 (diff)
parentbf0f60039b33bb0b1f93431864fd6b51c2a20b5b (diff)
Merge remote-tracking branch 'origin/release/2025.07' into geenz/2025.07-develop
Diffstat (limited to 'indra/llcommon/llthreadsafequeue.h')
-rw-r--r--indra/llcommon/llthreadsafequeue.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/indra/llcommon/llthreadsafequeue.h b/indra/llcommon/llthreadsafequeue.h
index 034e3f7897..1a1d06a6fd 100644
--- a/indra/llcommon/llthreadsafequeue.h
+++ b/indra/llcommon/llthreadsafequeue.h
@@ -452,7 +452,9 @@ ElementT LLThreadSafeQueue<ElementT, QueueT>::pop(void)
// so we can finish draining the queue.
pop_result popped = pop_(lock1, value);
if (popped == POPPED)
- return std::move(value);
+ // don't use std::move when returning local value because
+ // it prevents the compiler from optimizing with copy elision
+ return value;
// Once the queue is DONE, there will never be any more coming.
if (popped == DONE)