diff options
Diffstat (limited to 'indra/llcommon/llthreadsafequeue.h')
-rw-r--r-- | indra/llcommon/llthreadsafequeue.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/indra/llcommon/llthreadsafequeue.h b/indra/llcommon/llthreadsafequeue.h index 85fcbbacac..7a5eb5b33d 100644 --- a/indra/llcommon/llthreadsafequeue.h +++ b/indra/llcommon/llthreadsafequeue.h @@ -452,11 +452,10 @@ ElementT LLThreadSafeQueue<ElementT, QueueT>::pop(void) // so we can finish draining the queue. pop_result popped = pop_(lock1, value); if (popped == POPPED) -#if LL_LINUX + // 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; -#else - return std::move(value); -#endif // Once the queue is DONE, there will never be any more coming. if (popped == DONE) |