예제 #1
0
PUBLIC inline
void NO_INSTRUMENT
Switch_lock::invalidate()
{
  auto guard = lock_guard(cpu_lock);
  atomic_mp_or(&_lock_owner, 1);
}
예제 #2
0
 void atomic_set_bit(unsigned long bit)
 {
   unsigned long idx = bit / Bpl;
   unsigned long b   = bit % Bpl;
   atomic_mp_or(&_bits()[idx], 1UL << b);
 }
예제 #3
0
 void atomic_set_bit(unsigned long bit)
 {
   atomic_mp_or(&_bits[0], 1UL << bit);
 }