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.