From 5ba3eda6f5e1ea96461500321517cc95a16bff2d Mon Sep 17 00:00:00 2001 From: Olivier Martin Date: Tue, 26 Mar 2024 13:38:54 +0100 Subject: [PATCH] dbus/gattlib_adapter: Use mutex to get device manager --- dbus/gattlib_adapter.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dbus/gattlib_adapter.c b/dbus/gattlib_adapter.c index f73ef64..ae16083 100644 --- a/dbus/gattlib_adapter.c +++ b/dbus/gattlib_adapter.c @@ -85,8 +85,10 @@ struct gattlib_adapter *init_default_adapter(void) { } GDBusObjectManager *get_device_manager_from_adapter(struct gattlib_adapter *gattlib_adapter, GError **error) { + g_mutex_lock(&m_adapter_list_mutex); + if (gattlib_adapter->device_manager) { - return gattlib_adapter->device_manager; + goto EXIT; } // @@ -102,9 +104,12 @@ GDBusObjectManager *get_device_manager_from_adapter(struct gattlib_adapter *gatt NULL, NULL, NULL, NULL, error); if (gattlib_adapter->device_manager == NULL) { + g_mutex_unlock(&m_adapter_list_mutex); return NULL; } +EXIT: + g_mutex_unlock(&m_adapter_list_mutex); return gattlib_adapter->device_manager; }