函数宏
GLibRW_LOCK_READER_AUTO_LOCK
自:2.80.0
声明 [源代码]
#define G_RW_LOCK_READER_AUTO_LOCK (
mutex,
var
)
描述 [源代码]
用 g_autoptr()
声明 GRWLockReaderLocker
变量,并锁定以进行读取。在退出作用域时,此互斥锁将自动解锁。如果变量在作用域中未使用,则使用 G_GNUC_UNUSED
来声明它,以避免编译器进行警告。
此功能仅在 GCC 和 clang 上受支持。在其他编译器上未定义此宏,也不应用在旨在移植到那些编译器的程序中。
请注意,这应在允许声明变量的地方使用,当使用了 -Wdeclaration-after-statement
时,这可以在任何语句之前进行声明,或在 C99 之前的 C 标准中进行声明。
{
G_RW_LOCK_READER_AUTO_LOCK (&obj->rw_lock, locker);
obj->stuff_with_lock ();
if (condition)
{
// No need to unlock
return;
}
// Unlock before end of scope
g_clear_pointer (&locker, g_rw_lock_reader_locker_free);
obj->stuff_without_lock ();
}
提供自:2.80.0
此函数无法直接供语言绑定使用。