Panda3D
Loading...
Searching...
No Matches
conditionVarSpinlockImpl.I
Go to the documentation of this file.
1/**
2 * PANDA 3D SOFTWARE
3 * Copyright (c) Carnegie Mellon University. All rights reserved.
4 *
5 * All use of this software is subject to the terms of the revised BSD
6 * license. You should have received a copy of this license along
7 * with this source code in a file named "LICENSE."
8 *
9 * @file conditionVarSpinlockImpl.I
10 * @author drose
11 * @date 2006-04-11
12 */
13
14/**
15 *
16 */
17INLINE ConditionVarSpinlockImpl::
18ConditionVarSpinlockImpl(MutexSpinlockImpl &mutex) : _mutex(mutex) {
19 _event = 0;
20}
21
22/**
23 *
24 */
25INLINE ConditionVarSpinlockImpl::
26~ConditionVarSpinlockImpl() {
27}
28
29/**
30 *
31 */
32INLINE void ConditionVarSpinlockImpl::
33notify() {
34 // This will wake up all waiters on the lock. But that's allowed.
35 AtomicAdjust::inc(_event);
36}
37
38/**
39 *
40 */
41INLINE void ConditionVarSpinlockImpl::
42notify_all() {
43 AtomicAdjust::inc(_event);
44}
static void inc(Integer &var)
Atomically increments the indicated variable.