История изменений
Исправление xaizek, (текущая версия) :
В musl есть аналогичная, где-то делает asm("pause":::"memory")
, в другом месте:
#ifndef a_barrier
#define a_barrier a_barrier
static void a_barrier()
{
volatile int tmp = 0;
a_cas(&tmp, 0, 0);
}
#endif
#ifndef a_spin
#define a_spin a_barrier
#endif
Так что это, видимо, барьер для памяти, аналог sleep(0)
/yield
для атомиков.
Исходная версия xaizek, :
В musl есть аналогичная, где-то делает asm("pause":::"memory")
, в другом месте:
#ifndef a_barrier
#define a_barrier a_barrier
static void a_barrier()
{
volatile int tmp = 0;
a_cas(&tmp, 0, 0);
}
#endif
#ifndef a_spin
#define a_spin a_barrier
#endif
Так что это, видимо, барьер для памяти.