mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-29 05:40:23 -04:00
dbus: Do not refcnt the core.
We should not call pa_core_ref() anywhere in the code. Doing so will prevent proper daemon shutdown as the only call (in daemon/main.c) to pa_core_unref() should always call free_core() and perform a normal shutdown (i.e. unload all modules gracefully).
This commit is contained in:
parent
7aa8a3fa80
commit
1e381fbffc
3 changed files with 3 additions and 7 deletions
|
|
@ -1975,7 +1975,7 @@ pa_dbusiface_core *pa_dbusiface_core_new(pa_core *core) {
|
|||
pa_assert(core);
|
||||
|
||||
c = pa_xnew(pa_dbusiface_core, 1);
|
||||
c->core = pa_core_ref(core);
|
||||
c->core = core;
|
||||
c->subscription = pa_subscription_new(core, PA_SUBSCRIPTION_MASK_ALL, subscription_cb, c);
|
||||
c->dbus_protocol = pa_dbus_protocol_get(core);
|
||||
c->cards = pa_hashmap_new(pa_idxset_trivial_hash_func, pa_idxset_trivial_compare_func);
|
||||
|
|
@ -2124,7 +2124,6 @@ void pa_dbusiface_core_free(pa_dbusiface_core *c) {
|
|||
pa_source_unref(c->fallback_source);
|
||||
|
||||
pa_dbus_protocol_unref(c->dbus_protocol);
|
||||
pa_core_unref(c->core);
|
||||
|
||||
pa_xfree(c);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -202,7 +202,7 @@ pa_dbusiface_memstats *pa_dbusiface_memstats_new(pa_dbusiface_core *dbus_core, p
|
|||
pa_assert(core);
|
||||
|
||||
m = pa_xnew(pa_dbusiface_memstats, 1);
|
||||
m->core = pa_core_ref(core);
|
||||
m->core = core;
|
||||
m->path = pa_sprintf_malloc("%s/%s", PA_DBUS_CORE_OBJECT_PATH, OBJECT_NAME);
|
||||
m->dbus_protocol = pa_dbus_protocol_get(core);
|
||||
|
||||
|
|
@ -219,7 +219,6 @@ void pa_dbusiface_memstats_free(pa_dbusiface_memstats *m) {
|
|||
pa_xfree(m->path);
|
||||
|
||||
pa_dbus_protocol_unref(m->dbus_protocol);
|
||||
pa_core_unref(m->core);
|
||||
|
||||
pa_xfree(m);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ static pa_dbus_protocol *dbus_protocol_new(pa_core *c) {
|
|||
|
||||
p = pa_xnew(pa_dbus_protocol, 1);
|
||||
PA_REFCNT_INIT(p);
|
||||
p->core = pa_core_ref(c);
|
||||
p->core = c;
|
||||
p->objects = pa_hashmap_new(pa_idxset_string_hash_func, pa_idxset_string_compare_func);
|
||||
p->connections = pa_hashmap_new(pa_idxset_trivial_hash_func, pa_idxset_trivial_compare_func);
|
||||
p->extensions = pa_idxset_new(pa_idxset_string_hash_func, pa_idxset_string_compare_func);
|
||||
|
|
@ -178,8 +178,6 @@ void pa_dbus_protocol_unref(pa_dbus_protocol *p) {
|
|||
|
||||
pa_assert_se(pa_shared_remove(p->core, "dbus-protocol") >= 0);
|
||||
|
||||
pa_core_unref(p->core);
|
||||
|
||||
pa_xfree(p);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue