Struct

GLibOnce

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:

Available since: 2.14

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.

Available since: 2.14

Instance methods

g_once_impl
No description available.