diff options
author | Andrey Lihatskiy <alihatskiy@productengine.com> | 2024-10-08 18:31:52 +0300 |
---|---|---|
committer | Andrey Lihatskiy <alihatskiy@productengine.com> | 2024-10-08 18:31:52 +0300 |
commit | b16ede862f3e1414eee044c5a2b49017706af943 (patch) | |
tree | 5e223816b20f02185a487224d8dcc0dbf406142d /indra/llcommon/llthreadsafequeue.h | |
parent | a301fb2876835f799317f8a011f368eaec4894d6 (diff) | |
parent | a43b2106853b516248a2e657a28084b7d906cf5f (diff) |
Merge branch 'develop' into marchcat/xcode-16
# Conflicts:
# .github/workflows/build.yaml
# indra/llmath/raytrace.cpp
Diffstat (limited to 'indra/llcommon/llthreadsafequeue.h')
-rw-r--r-- | indra/llcommon/llthreadsafequeue.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/indra/llcommon/llthreadsafequeue.h b/indra/llcommon/llthreadsafequeue.h index 034e3f7897..7a5eb5b33d 100644 --- a/indra/llcommon/llthreadsafequeue.h +++ b/indra/llcommon/llthreadsafequeue.h @@ -452,7 +452,10 @@ 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 std::move(value); + return value; // Once the queue is DONE, there will never be any more coming. if (popped == DONE) |