aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Threading/LockedQueue.h
diff options
context:
space:
mode:
authorMachiavelli <machiavelli.trinity@gmail.com>2011-12-19 21:12:35 +0100
committerMachiavelli <machiavelli.trinity@gmail.com>2011-12-19 21:12:35 +0100
commit8e0be985fdc841357606c07fd2992f767f1f00f4 (patch)
tree6c0c7c2c4da5254302bd75699042c98821436a6b /src/server/shared/Threading/LockedQueue.h
parentd1378a9c941dfa9ba15af4e95759984f6dc69726 (diff)
Core/Netcode: Fix a possible infinite loop after 829be0b82 (which was accidentally merged in this morning)
Diffstat (limited to 'src/server/shared/Threading/LockedQueue.h')
-rwxr-xr-xsrc/server/shared/Threading/LockedQueue.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/server/shared/Threading/LockedQueue.h b/src/server/shared/Threading/LockedQueue.h
index 92eab440684..4d2ddd33f5f 100755
--- a/src/server/shared/Threading/LockedQueue.h
+++ b/src/server/shared/Threading/LockedQueue.h
@@ -98,13 +98,16 @@ namespace ACE_Based
return true;
}
- //! Peeks at the top of the queue. Remember to unlock after use.
- T& peek()
+ //! Peeks at the top of the queue. Check if the queue is empty before calling! Remember to unlock after use if autoUnlock == false.
+ T& peek(bool autoUnlock = false)
{
lock();
T& result = _queue.front();
+ if (autoUnlock)
+ unlock();
+
return result;
}