From: Jaechul Lee Date: Mon, 4 May 2020 01:31:10 +0000 (+0900) Subject: Fix resource leaks when pulseaudio is terminated X-Git-Tag: submit/tizen/20200512.012802~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=25a91a14803c4885f1dd05273e16cfaeb4e54d79;p=platform%2Fcore%2Fmultimedia%2Fpulseaudio-modules-tizen.git Fix resource leaks when pulseaudio is terminated This resource leak makes abort signal in core_free function and then spends times to make unnecessary crash dump. Change-Id: Iccc7cdce2e60985f73a819e83cf7f4887cfdaac9 Signed-off-by: Jaechul Lee --- diff --git a/src/module-sound-player.c b/src/module-sound-player.c index 7071e9c..143b975 100644 --- a/src/module-sound-player.c +++ b/src/module-sound-player.c @@ -695,6 +695,8 @@ static void deinit_ipc(struct userdata *u) { if (u->dbus_conn) { if (!dbus_connection_unregister_object_path(pa_dbus_connection_get(u->dbus_conn), SOUND_PLAYER_OBJECT_PATH)) pa_log_error("Failed to unregister object path"); + + pa_dbus_connection_unref(u->dbus_conn); u->dbus_conn = NULL; } #endif diff --git a/src/stream-manager-dbus.c b/src/stream-manager-dbus.c index 14ed732..64adff1 100644 --- a/src/stream-manager-dbus.c +++ b/src/stream-manager-dbus.c @@ -2480,6 +2480,8 @@ void deinit_sm_dbus(pa_stream_manager *m) { if (m->dbus_conn) { if (!dbus_connection_unregister_object_path(pa_dbus_connection_get(m->dbus_conn), STREAM_MANAGER_OBJECT_PATH)) pa_log_error("failed to unregister object path"); + + pa_dbus_connection_unref(m->dbus_conn); m->dbus_conn = NULL; } #endif diff --git a/src/stream-manager.c b/src/stream-manager.c index 8ca0809..6411be7 100644 --- a/src/stream-manager.c +++ b/src/stream-manager.c @@ -3873,5 +3873,7 @@ void pa_stream_manager_unref(pa_stream_manager *m) { pa_hal_interface_unref(m->hal); } + pa_shared_remove(m->core, SHARED_STREAM_MANAGER); + pa_xfree(m); }