mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-24 22:46:15 +01:00
Bug 587300 - g_cancellable_disconnect deadlock
add documentation to clarify that a deadlock is the expected case for calling this function from a signal handler
This commit is contained in:
parent
3d09b8e09c
commit
6b7b7a7602
@ -707,9 +707,12 @@ g_cancellable_connect (GCancellable *cancellable,
|
|||||||
* @cancellable: A #GCancellable or %NULL.
|
* @cancellable: A #GCancellable or %NULL.
|
||||||
* @handler_id: Handler id of the handler to be disconnected, or %0.
|
* @handler_id: Handler id of the handler to be disconnected, or %0.
|
||||||
*
|
*
|
||||||
* Disconnects a handler from an cancellable instance similar to
|
* Disconnects a handler from a cancellable instance similar to
|
||||||
* g_signal_handler_disconnect() but ensures that once this
|
* g_signal_handler_disconnect(). Additionally, in the event that a
|
||||||
* function returns the handler will not run anymore in any thread.
|
* 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
|
* This avoids a race condition where a thread cancels at the
|
||||||
* same time as the cancellable operation is finished and the
|
* same time as the cancellable operation is finished and the
|
||||||
|
Loading…
Reference in New Issue
Block a user