函数

GLibpointer_bit_lock_and_get

自:2.80

声明 [源代码]

void
g_pointer_bit_lock_and_get (
  gpointer address,
  guint lock_bit,
  guintptr* out_ptr
)

描述 [源代码]

这等同于 g_bit_lock,但运行于指针(或其他指针大小值)上。

出于可移植性原因,您只能锁定指针的底层 32 位。

自 2.80 起可用

参数

地址

类型: gpointer

指向 #gpointer 大小值的指针。

数据由函数调用者拥有。
锁定位

类型: guint

介于 0 和 31 之间的一个位值。

输出指针

类型: guintptr*

返回设置的指针(原子操作)。这是设置锁之后的数值,因此它始终设置了锁位,而之前 地址 没有设置锁位。您还可以使用 g_pointer_bit_lock_mask_ptr() 来清除锁位。

该参数将由函数设置。
该参数可以为 NULL
函数调用者拥有返回数据的拥有权,并负责释放数据。