since: 2.24

Declaration [src]

g_bit_trylock (
  volatile gint* address,
  gint lock_bit

Description [src]

Sets the indicated lock_bit in address, returning TRUE if successful. If the bit is already set, returns FALSE immediately.

Attempting to lock on two different bits within the same integer is not supported.

The value of the bit that is set is (1u << bit). If bit is not between 0 and 31 then the result is undefined.

This function accesses address atomically. All other accesses to address must be atomic in order for this function to work reliably. While address has a volatile qualifier, this is a historical artifact and the argument passed to it should not be volatile.

Available since: 2.24



Type: volatile gint*

A pointer to an integer.

The data is owned by the caller of the function.

Type: gint

A bit value between 0 and 31

Return value

Type: gboolean

TRUE if the lock was acquired.