Method

DexSchedulerspawn

Declaration [src]

DexFuture*
dex_scheduler_spawn (
  DexScheduler* scheduler,
  gsize stack_size,
  DexFiberFunc func,
  gpointer func_data,
  GDestroyNotify func_data_destroy
)

Description [src]

Request scheduler to spawn a DexFiber.

The fiber will have it’s own stack and cooperatively schedules among other fibers sharing the schaeduler.

If stack_size is 0, it will set to a sensible default. Otherwise, it is rounded up to the nearest page size.

Parameters

stack_size

Type: gsize

Stack size in bytes or 0

func

Type: DexFiberFunc

A DexFiberFunc.

The argument can be NULL.
func_data

Type: gpointer

Closure data for func.

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

Type: GDestroyNotify

Closure notify for func_data.

Return value

Type: DexFuture

A DexFuture that will resolve or reject when func completes (or it’s resulting DexFuture completes).

The caller of the method takes ownership of the data, and is responsible for freeing it.