Panda3D
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  */
17 INLINE ConditionVarSpinlockImpl::
18 ConditionVarSpinlockImpl(MutexSpinlockImpl &mutex) : _mutex(mutex) {
19  _event = 0;
20 }
21 
22 /**
23  *
24  */
25 INLINE ConditionVarSpinlockImpl::
26 ~ConditionVarSpinlockImpl() {
27 }
28 
29 /**
30  *
31  */
32 INLINE void ConditionVarSpinlockImpl::
33 notify() {
34  // This will wake up all waiters on the lock. But that's allowed.
35  AtomicAdjust::inc(_event);
36 }
37 
38 /**
39  *
40  */
41 INLINE void ConditionVarSpinlockImpl::
42 notify_all() {
43  AtomicAdjust::inc(_event);
44 }
static void inc(Integer &var)
Atomically increments the indicated variable.