Method

GioCancellabledisconnect

Declaration

void
g_cancellable_disconnect (
  GCancellable* cancellable,
  gulong handler_id
)

Description

Disconnects a handler from a cancellable instance similar to g_signal_handler_disconnect(). Additionally, in the event that a signal handler is currently running, this call will block until the handler has finished. Calling this function from a GCancellable::cancelled signal handler will therefore result in a deadlock.

This avoids a race condition where a thread cancels at the same time as the cancellable operation is finished and the signal handler is removed. See GCancellable::cancelled for details on how to use this.

If cancellable is NULL or handler_id is 0 this function does nothing.

Available since:2.22

Parameters

handler_id gulong
 

Handler id of the handler to be disconnected, or 0.