diff --git a/gio/gtask.c b/gio/gtask.c index dd5730bd5..e6815e2d0 100644 --- a/gio/gtask.c +++ b/gio/gtask.c @@ -2454,9 +2454,18 @@ g_task_class_init (GTaskClass *klass) * GTask:completed: * * 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 - * 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. *