Function

GioTaskThreadFunc

since: 2.36

Declaration

void
(* GTaskThreadFunc) (
  GTask* task,
  GObject* source_object,
  gpointer task_data,
  GCancellable* cancellable
)

Description

The prototype for a task function to be run in a thread via g_task_run_in_thread() or g_task_run_in_thread_sync().

If the return-on-cancel flag is set on task, and cancellable gets cancelled, then the GTask will be completed immediately (as though g_task_return_error_if_cancelled() had been called), without waiting for the task function to complete. However, the task function will continue running in its thread in the background. The function therefore needs to be careful about how it uses externally-visible state in this case. See g_task_set_return_on_cancel() for more details.

Other than in that case, task will be completed when the GTaskThreadFunc returns, not when it calls a g_task_return_ function.

Available since: 2.36

Parameters

task

Type: GTask

The GTask.

The data is owned by the caller of the function.
source_object

Type: GObject

tasks source object.

The data is owned by the caller of the function.
task_data

Type: gpointer

tasks task data.

The argument can be NULL.
The data is owned by the caller of the function.
cancellable

Type: GCancellable

tasks GCancellable, or NULL.

The argument can be NULL.
The data is owned by the caller of the function.