Panda3D
Loading...
Searching...
No Matches
reMutexSpinlockImpl.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 reMutexSpinlockImpl.I
10 * @author rdb
11 * @date 2018-09-03
12 */
13
14/**
15 *
16 */
17INLINE void ReMutexSpinlockImpl::
18unlock() {
19 assert(_counter > 0);
20 if (!--_counter) {
21 AtomicAdjust::set_ptr(_locking_thread, nullptr);
22 }
23}
static Pointer set_ptr(Pointer &var, Pointer new_value)
Atomically changes the indicated variable and returns the original value.