Convenience function to connect to the #GCancellable::cancelled
signal. Also handles the race condition that may happen
if the cancellable is cancelled right before connecting.
@callback is called at most once, either directly at the
time of the connect if @cancellable is already cancelled,
or when @cancellable is cancelled in some thread.
@data_destroy_func will be called when the handler is
disconnected, or immediately if the cancellable is already
cancelled.
See #GCancellable::cancelled for details on how to use this.
Since GLib 2.40, the lock protecting @cancellable is not held when
@callback is invoked. This lifts a restriction in place for
earlier GLib versions which now makes it easier to write cleanup
code that unconditionally invokes e.g. g_cancellable_cancel().
Convenience function to connect to the #GCancellable::cancelled signal. Also handles the race condition that may happen if the cancellable is cancelled right before connecting.
@callback is called at most once, either directly at the time of the connect if @cancellable is already cancelled, or when @cancellable is cancelled in some thread.
@data_destroy_func will be called when the handler is disconnected, or immediately if the cancellable is already cancelled.
See #GCancellable::cancelled for details on how to use this.
Since GLib 2.40, the lock protecting @cancellable is not held when @callback is invoked. This lifts a restriction in place for earlier GLib versions which now makes it easier to write cleanup code that unconditionally invokes e.g. g_cancellable_cancel().