方法
GioCancellableconnect
since: 2.22
声明 [src]
gulong
g_cancellable_connect (
GCancellable* cancellable,
GCallback callback,
gpointer data,
GDestroyNotify data_destroy_func
)
描述 [src]
连接到 GCancellable::cancelled
信号的一个便捷函数。同时也处理了在连接之前可取消操作器被取消时可能发生的竞态条件。
callback
每当 cancellable
被取消时恰好调用一次,如果在连接当时 cancellable
已经被取消,或者在某线程中 cancellable
被取消。如果在通过 g_cancellable_reset()
重置可取消操作器后,cancellable
被取消,则回调可以再次被调用。
data_destroy_func
在处理程序断开连接时或立即在可取消操作器已经取消的情况下被调用。
有关如何使用此功能,请参阅 GCancellable::cancelled
。
自 GLib 2.40 以来,当调用 callback
时,保护 cancellable
的锁不会被保持。这取消了对较早 GLib 版本的限制,现在使得编写无条件调用例如 g_cancellable_cancel() 的清理代码变得更加容易。
Available since: 2.22
参数
callback
-
类型:
GCallback
要连接的
GCallback
。 data
-
类型:
gpointer
传递给
callback
的数据。该参数可以是 NULL
。该数据由方法调用者所有。 data_destroy_func
-
类型:
GDestroyNotify
用于释放
data
或传递NULL
的函数。该参数可以是 NULL
。