Function

GLibatomic_rc_box_release_full

since: 2.58

Declaration [src]

void
g_atomic_rc_box_release_full (
  gpointer mem_block,
  GDestroyNotify clear_func
)

Description [src]

Atomically releases a reference on the data pointed by mem_block.

If the reference was the last one, it will call clear_func to clear the contents of mem_block, and then will free the resources allocated for mem_block.

Note that implementing weak references via clear_func is not thread-safe: clearing a pointer to the memory from the callback can race with another thread trying to access it as mem_block already has a reference count of 0 when the callback is called and will be freed.

Available since: 2.58

Parameters

mem_block

Type: gpointer

A pointer to reference counted data.

The called function takes ownership of the data, and is responsible for freeing it.
clear_func

Type: GDestroyNotify

A function to call when clearing the data.