diff options
| author | Jonathan "Geenz" Goodman <geenz@lindenlab.com> | 2025-09-18 15:25:31 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-18 15:25:31 -0400 |
| commit | f316a92f308be836b57f638514dcd56f3851a89a (patch) | |
| tree | 9a1431c0c311de41388879b31f26c6faa8bf5e89 /indra/llcommon/llthreadsafequeue.h | |
| parent | badeccbebcfa73a11cf0f8a4562c9a0d386834c1 (diff) | |
| parent | 82e431e0906647dcfc4a64b057e6bc305c9add8e (diff) | |
Merge pull request #4700 from secondlife/geenz/2025.07-develop
Geenz/2025.07 -> develop
Diffstat (limited to 'indra/llcommon/llthreadsafequeue.h')
| -rw-r--r-- | indra/llcommon/llthreadsafequeue.h | 4 |
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) |
