diff options
author | Wootak Jung <wootak.jung@samsung.com> | 2024-05-21 17:18:59 +0900 |
---|---|---|
committer | Wootak Jung <wootak.jung@samsung.com> | 2024-05-23 02:49:36 +0000 |
commit | 4a4bd0902d495ebb3c0ab8d06a689db172f1e195 (patch) | |
tree | 690744acdcf0b672acf7e96848c918d0d10ce1c7 | |
parent | 1b370f86d99a300544b7562ea6befe84d62a258b (diff) | |
download | bluez-4a4bd0902d495ebb3c0ab8d06a689db172f1e195.tar.gz bluez-4a4bd0902d495ebb3c0ab8d06a689db172f1e195.tar.bz2 bluez-4a4bd0902d495ebb3c0ab8d06a689db172f1e195.zip |
Revert "Fix crash issue when destroying notify io"accepted/tizen/7.0/unified/20240524.012250
This reverts commit 50734b06177e2160c3309dfc3aad3aed9b766e39.
Change-Id: I1f0a72a0806df969ff011151e278af09c213164d
-rw-r--r-- | src/gatt-client.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gatt-client.c b/src/gatt-client.c index 8341a310..977926af 100644 --- a/src/gatt-client.c +++ b/src/gatt-client.c @@ -1734,6 +1734,12 @@ static DBusMessage *characteristic_acquire_notify(DBusConnection *conn, if (!client) return btd_error_failed(msg, "Failed allocate notify session"); +#ifdef TIZEN_FEATURE_BLUEZ_MODIFY + chrc->notify_io = new0(struct sock_io, 1); + chrc->notify_io->data = client; + chrc->notify_io->msg = dbus_message_ref(msg); + chrc->notify_io->destroy = notify_io_destroy; +#endif client->notify_id = bt_gatt_client_register_notify(gatt, chrc->value_handle, register_notify_io_cb, @@ -1741,6 +1747,11 @@ static DBusMessage *characteristic_acquire_notify(DBusConnection *conn, client, NULL); if (!client->notify_id) { notify_client_unref(client); +#ifdef TIZEN_FEATURE_BLUEZ_MODIFY + dbus_message_unref(chrc->notify_io->msg); + g_free(chrc->notify_io); + chrc->notify_io = NULL; +#endif return btd_error_failed(msg, "Failed to subscribe"); } @@ -1750,10 +1761,12 @@ static DBusMessage *characteristic_acquire_notify(DBusConnection *conn, DBG("Added client to notify_clients. length: %d", queue_length(chrc->notify_clients)); #endif +#ifndef TIZEN_FEATURE_BLUEZ_MODIFY chrc->notify_io = new0(struct sock_io, 1); chrc->notify_io->data = client; chrc->notify_io->msg = dbus_message_ref(msg); chrc->notify_io->destroy = notify_io_destroy; +#endif return NULL; } |