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:
gpointerA pointer to reference counted data.
The called function takes ownership of the data, and is responsible for freeing it. clear_func-
Type:
GDestroyNotifyA function to call when clearing the data.