void pa_context_unref(pa_context *c) { pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); if (PA_REFCNT_DEC(c) <= 0) context_free(c); }
void pa_socket_server_unref(pa_socket_server *s) { pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); if (PA_REFCNT_DEC(s) <= 0) socket_server_free(s); }
void pa_x11_wrapper_unref(pa_x11_wrapper* w) { pa_assert(w); pa_assert(PA_REFCNT_VALUE(w) >= 1); if (PA_REFCNT_DEC(w) > 0) return; x11_wrapper_free(w); }
void pa_reserve_monitor_wrapper_unref(pa_reserve_monitor_wrapper *w) { pa_assert(w); pa_assert(PA_REFCNT_VALUE(w) >= 1); if (PA_REFCNT_DEC(w) > 0) return; reserve_monitor_wrapper_free(w); }
/* No lock necessary */ void pa_memblock_unref(pa_memblock*b) { pa_assert(b); pa_assert(PA_REFCNT_VALUE(b) > 0); if (PA_REFCNT_DEC(b) > 0) return; memblock_free(b); }
void pa_reserve_wrapper_unref(pa_reserve_wrapper *r) { pa_assert(r); pa_assert(PA_REFCNT_VALUE(r) >= 1); if (PA_REFCNT_DEC(r) > 0) return; reserve_wrapper_free(r); }
void pa_packet_unref(pa_packet *p) { pa_assert(p); pa_assert(PA_REFCNT_VALUE(p) >= 1); if (PA_REFCNT_DEC(p) <= 0) { if (p->type == PA_PACKET_DYNAMIC) pa_xfree(p->data); if (pa_flist_push(PA_STATIC_FLIST_GET(packets), p) < 0) pa_xfree(p); } }
void pa_auth_cookie_unref(pa_auth_cookie *c) { pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); if (PA_REFCNT_DEC(c) > 0) return; pa_assert_se(pa_shared_remove(c->core, c->name) >= 0); pa_xfree(c->name); pa_xfree(c); }
void pa_dbus_connection_unref(pa_dbus_connection *c) { pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) > 0); if (PA_REFCNT_DEC(c) > 0) return; pa_dbus_wrap_connection_free(c->connection); pa_shared_remove(c->core, c->property_name); pa_xfree(c); }
void pa_simple_options_unref(pa_simple_options *o) { pa_assert(o); pa_assert(PA_REFCNT_VALUE(o) >= 1); if (PA_REFCNT_DEC(o) > 0) return; pa_xfree(o->default_sink); pa_xfree(o->default_source); pa_xfree(o); }
void pa_simple_protocol_unref(pa_simple_protocol *p) { connection *c; pa_assert(p); pa_assert(PA_REFCNT_VALUE(p) >= 1); if (PA_REFCNT_DEC(p) > 0) return; while ((c = pa_idxset_first(p->connections, NULL))) connection_unlink(c); pa_idxset_free(p->connections, NULL); pa_assert_se(pa_shared_remove(p->core, "simple-protocol") >= 0); pa_xfree(p); }
void pa_asyncmsgq_unref(pa_asyncmsgq* q) { pa_assert(PA_REFCNT_VALUE(q) > 0); if (PA_REFCNT_DEC(q) <= 0) asyncmsgq_free(q); }