diff options
author | 문선아/Tizen Platform Lab(SR)/Engineer/삼성전자 <seonah1.moon@samsung.com> | 2020-04-01 14:09:16 +0900 |
---|---|---|
committer | GitHub Enterprise <noreply-CODE@samsung.com> | 2020-04-01 14:09:16 +0900 |
commit | 7d5b251f1e5067a8f78720ef7f6dc90fb5eb0d3d (patch) | |
tree | 4da4c12392774e74dbbfaec4fdb907982edd3283 | |
parent | 0fa692efef1e26b48040418ac6968e78471812e0 (diff) | |
parent | 62cce30d39834e51f9b4231468e577a78708b0b1 (diff) | |
download | wifi-aware-7d5b251f1e5067a8f78720ef7f6dc90fb5eb0d3d.tar.gz wifi-aware-7d5b251f1e5067a8f78720ef7f6dc90fb5eb0d3d.tar.bz2 wifi-aware-7d5b251f1e5067a8f78720ef7f6dc90fb5eb0d3d.zip |
Merge pull request #73 from seonah1-moon/master
Deinitialize callbacks after they are invoked.
-rw-r--r-- | src/wifi-aware-data-path.c | 5 | ||||
-rw-r--r-- | src/wifi-aware-gdbus.c | 1 | ||||
-rw-r--r-- | src/wifi-aware-private.c | 20 |
3 files changed, 21 insertions, 5 deletions
diff --git a/src/wifi-aware-data-path.c b/src/wifi-aware-data-path.c index f72fc5e..dd753f5 100644 --- a/src/wifi-aware-data-path.c +++ b/src/wifi-aware-data-path.c @@ -215,8 +215,11 @@ static void __data_path_invoke_callback(wifi_aware_data_path_h data_path, wifi_a RET_IF(data_path == NULL, "data path handle is NULL"); wifi_aware_data_path_s *ndp = (wifi_aware_data_path_s *)data_path; - if (ndp->open_cb) + if (ndp->open_cb) { ndp->open_cb(data_path, error, ndp->open_cb_user_data); + ndp->open_cb = NULL; + ndp->open_cb_user_data = NULL; + } } static wifi_aware_error_e __parsing_data_path_confirmed_event(GVariant *parameters, diff --git a/src/wifi-aware-gdbus.c b/src/wifi-aware-gdbus.c index 91044a9..78e5c31 100644 --- a/src/wifi-aware-gdbus.c +++ b/src/wifi-aware-gdbus.c @@ -94,6 +94,7 @@ void wifi_aware_gdbus_deregister_signal(guint signal_id) { __WIFI_AWARE_FUNC_ENTER__; g_dbus_connection_signal_unsubscribe(gdbus_data.connection, signal_id); + __WIFI_AWARE_FUNC_EXIT__; } int wifi_aware_gdbus_init() diff --git a/src/wifi-aware-private.c b/src/wifi-aware-private.c index b4b5862..4cecdaa 100644 --- a/src/wifi-aware-private.c +++ b/src/wifi-aware-private.c @@ -238,8 +238,11 @@ static void __enable_request_reply(GObject *src, GAsyncResult *res, gpointer use error = _wifi_aware_convert_nan_manager_error(nan_error); } - if (g_wifi_aware->enabled_cb) + if (g_wifi_aware->enabled_cb) { g_wifi_aware->enabled_cb(error, g_wifi_aware->enabled_cb_data); + g_wifi_aware->enabled_cb = NULL; + g_wifi_aware->enabled_cb_data = NULL; + } } static void __session_add_published_callback(wifi_aware_session_h session, @@ -268,8 +271,11 @@ static void __wifi_aware_publish_invoke_callback(wifi_aware_session_h session, RET_IF(session == NULL, "Session is NULL"); wifi_aware_session_s *handle = (wifi_aware_session_s *)session; - if (handle->published_cb) + if (handle->published_cb) { handle->published_cb(session, error, handle->published_cb_data); + handle->published_cb = NULL; + handle->published_cb_data = NULL; + } } static void __wifi_aware_discovered_cb(wifi_aware_session_h session, wifi_aware_peer_h peer, @@ -363,8 +369,11 @@ static void __wifi_aware_subscribe_invoke_callback(wifi_aware_session_h session, RET_IF(session == NULL, "Session is NULL"); wifi_aware_session_s *handle = (wifi_aware_session_s *)session; - if (handle->subscribed_cb) + if (handle->subscribed_cb) { handle->subscribed_cb(session, error, handle->subscribed_cb_data); + handle->subscribed_cb = NULL; + handle->subscribed_cb_data = NULL; + } } static void __subscribe_request_reply(GObject *src, GAsyncResult *res, gpointer user_data) @@ -1143,8 +1152,11 @@ void __destroy_message_data(wifi_aware_message_s *message) static void __wifi_aware_followup_invoke_callback(wifi_aware_message_s *message, wifi_aware_error_e error) { - if (message && message->callback) + if (message && message->callback) { message->callback(message->session, error, message->user_data); + message->callback = NULL; + message->user_data = NULL; + } } static void __send_message_reply(GObject *src, GAsyncResult *res, gpointer user_data) |