21#if defined(__i386__) || defined(__x86_64) || defined(_M_IX86) || defined(_M_X64)
23#define PAUSE() _mm_pause()
31void ReMutexSpinlockImpl::
35 while (locking_thread !=
nullptr && locking_thread != current_thread) {
45bool ReMutexSpinlockImpl::
49 if (locking_thread ==
nullptr || locking_thread == current_thread) {
static Pointer compare_and_exchange_ptr(Pointer &mem, Pointer old_value, Pointer new_value)
Atomic compare and exchange.
A thread; that is, a lightweight process.
get_current_thread
Returns a pointer to the currently-executing Thread object.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.