Gjsify LogoGjsify Logo

The #GPrivate struct is an opaque data structure to represent a thread-local data key. It is approximately equivalent to the pthread_setspecific()/pthread_getspecific() APIs on POSIX and to TlsSetValue()/TlsGetValue() on Windows.

If you don't already know why you might want this functionality, then you probably don't need it.

#GPrivate is a very limited resource (as far as 128 per program, shared between all libraries). It is also not possible to destroy a #GPrivate after it has been used. As such, it is only ever acceptable to use #GPrivate in static scope, and even then sparingly so.

See G_PRIVATE_INIT() for a couple of examples.

The #GPrivate structure should be considered opaque. It should only be accessed via the g_private_ functions.

record

Hierarchy

  • Private

Index

Constructors

Properties

Methods

Constructors

Properties

name: string

Methods

  • get(): object
  • Returns the current value of the thread local variable key.

    If the value has not yet been set in this thread, %NULL is returned. Values are never copied between threads (when a new thread is created, for example).

    Returns object

  • replace(value: object): void
  • Sets the thread local variable key to have the value value in the current thread.

    This function differs from g_private_set() in the following way: if the previous value was non-%NULL then the #GDestroyNotify handler for key is run on it.

    Parameters

    • value: object

      the new value

    Returns void

  • set(value: object): void
  • Sets the thread local variable key to have the value value in the current thread.

    This function differs from g_private_replace() in the following way: the #GDestroyNotify for key is not called on the old value.

    Parameters

    • value: object

      the new value

    Returns void

Legend

  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Type alias with type parameter
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method