函数
GLibatomic_pointer_or
自 2.30 起
声明 [src]
guintptr
g_atomic_pointer_or (
void* atomic,
gsize val
)
说明 [src]
对 atomic
和 val
的值执行原子位或运算,将结果存储回 atomic
。
将此操作视为 { tmp = *atomic; *atomic |= val; return tmp; }
的原子版本。
此调用充当一个完整的编译器和硬件内存屏障。
虽然 atomic
有一个 volatile
限定符,但这是一个历史遗留问题,传递给它的指针不应该是 volatile
。
在 GLib 2.80 中,返回值类型从 #gsize 更改为 #guintptr,以增加对 128 位指针平台的支持。这应该不会影响现有代码。
自 2.30 起提供