From 14fd1167089d2c4de8a49a895422d05fb8516416 Mon Sep 17 00:00:00 2001 From: Amit Purwar Date: Wed, 30 Jan 2019 14:30:31 +0530 Subject: [PATCH] cleanup of acquire notification data for stop notify Change-Id: I75cb3a0edbd159789695cc8c16ae659cc246c5bf Signed-off-by: Amit Purwar --- bt-api/bt-gatt-service.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/bt-api/bt-gatt-service.c b/bt-api/bt-gatt-service.c index 91149a8..e39c3a0 100644 --- a/bt-api/bt-gatt-service.c +++ b/bt-api/bt-gatt-service.c @@ -405,12 +405,20 @@ static gboolean bluetooth_gatt_write_channel_watch_cb(GIOChannel *gio, g_io_channel_shutdown(gio, TRUE, NULL); g_io_channel_unref(gio); - gatt_characteristic_server_notify_list = g_slist_remove(gatt_characteristic_server_notify_list, chr_info); - bluetooth_characteristic_info_free(chr_info); + if (g_slist_find(gatt_characteristic_server_notify_list, chr_info)) { + BT_INFO("found char_info in the list"); + gatt_characteristic_server_notify_list = g_slist_remove(gatt_characteristic_server_notify_list, chr_info); + bluetooth_characteristic_info_free(chr_info); + } return FALSE; } + if (g_slist_find(gatt_characteristic_server_notify_list, chr_info) == NULL) { + BT_INFO("chr_info is not in the list"); + return FALSE; + } + return TRUE; } @@ -3338,5 +3346,9 @@ void cleanup_gatt_acquire_fd(int handle) BT_INFO("closing fd"); close(chr_info->write_fd); } + + BT_INFO("Removing char_info from the list"); + gatt_characteristic_server_notify_list = g_slist_remove(gatt_characteristic_server_notify_list, chr_info); + bluetooth_characteristic_info_free(chr_info); } } -- 2.7.4