Struct

GLibOnce

since: 2.4

Description

struct GOnce {
  volatile GOnceStatus status;
  volatile gpointer retval;
}

A GOnce struct controls a one-time initialization function. Any one-time initialization function must have its own unique GOnce struct.

Structure members
status

The status of the GOnce.

retval

The value returned by the call to the function, if status is G_ONCE_STATUS_READY.

Available since: 2.4

Functions

g_once_init_enter

Function to be called when starting a critical initialization section. The argument location must point to a static 0-initialized variable that will be set to a value other than 0 at the end of the initialization section. In combination with g_once_init_leave() and the unique address value_location, it can be ensured that an initialization section will be executed only once during a program’s life time, and that concurrent threads are blocked until initialization completed. To be used in constructs like this:

since: 2.14

g_once_init_enter_impl
No description available.

g_once_init_enter_pointer

This functions behaves in the same way as g_once_init_enter(), but can can be used to initialize pointers (or #guintptr) instead of #gsize.

since: 2.80

g_once_init_leave

Counterpart to g_once_init_enter(). Expects a location of a static 0-initialized initialization variable, and an initialization value other than 0. Sets the variable to the initialization value, and releases concurrent threads blocking in g_once_init_enter() on this initialization variable.

since: 2.14

g_once_init_leave_pointer

Counterpart to g_once_init_enter_pointer(). Expects a location of a static NULL-initialized initialization variable, and an initialization value other than NULL. Sets the variable to the initialization value, and releases concurrent threads blocking in g_once_init_enter_pointer() on this initialization variable.

since: 2.80

Instance methods

g_once_impl
No description available.