Method
DexFutureawait
Declaration [src]
gboolean
dex_await (
DexFuture* future
GError** error
)
Description [src]
Suspends the current DexFiber
and resumes when future
has completed.
If future
is completed when this function is called, the fiber will handle
the result immediately.
This function may only be called within a DexFiber
. To do otherwise will return FALSE
and error
set to DEX_ERROR_NO_FIBER
.
It is an error to call this function in a way that would cause intermediate code to become invalid when resuming the stack. For example, if a foreach-style function taking a callback was to suspend from the callback, undefined behavior may occur such as thread-local-storage having changed.
Parameters
future
-
Type:
DexFuture
A
DexFuture
.The instance takes ownership of the data, and is responsible for freeing it. error
-
Type:
GError **
The return location for a recoverable error.
The argument can be NULL
.If the return location is not NULL
, then you must initialize it to aNULL
GError*
.The argument will be left initialized to NULL
by the method if there are no errors.In case of error, the argument will be set to a newly allocated GError
; the caller will take ownership of the data, and be responsible for freeing it.