mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-23 18:52:09 +01:00
gtask: Clarify when GTask:completed is suitable to use
It’s not suitable to use to check if your own code has already called `g_task_return_*()`, as it doesn’t directly correlate to that. Signed-off-by: Philip Withnall <pwithnall@gnome.org>
This commit is contained in:
parent
15cef2ea59
commit
90ec3d3499
13
gio/gtask.c
13
gio/gtask.c
@ -2454,9 +2454,18 @@ g_task_class_init (GTaskClass *klass)
|
|||||||
* GTask:completed:
|
* GTask:completed:
|
||||||
*
|
*
|
||||||
* Whether the task has completed, meaning its callback (if set) has been
|
* Whether the task has completed, meaning its callback (if set) has been
|
||||||
* invoked. This can only happen after g_task_return_pointer(),
|
* invoked.
|
||||||
|
*
|
||||||
|
* This can only happen after g_task_return_pointer(),
|
||||||
* g_task_return_error() or one of the other return functions have been called
|
* g_task_return_error() or one of the other return functions have been called
|
||||||
* on the task.
|
* on the task. However, it is not guaranteed to happen immediately after
|
||||||
|
* those functions are called, as the task’s callback may need to be scheduled
|
||||||
|
* to run in a different thread.
|
||||||
|
*
|
||||||
|
* That means it is **not safe** to use this property to track whether a
|
||||||
|
* return function has been called on the #GTask. Callers must do that
|
||||||
|
* tracking themselves, typically by linking the lifetime of the #GTask to the
|
||||||
|
* control flow of their code.
|
||||||
*
|
*
|
||||||
* This property is guaranteed to change from %FALSE to %TRUE exactly once.
|
* This property is guaranteed to change from %FALSE to %TRUE exactly once.
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user