summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author문선아/Tizen Platform Lab(SR)/Engineer/삼성전자 <seonah1.moon@samsung.com>2020-04-01 14:09:16 +0900
committerGitHub Enterprise <noreply-CODE@samsung.com>2020-04-01 14:09:16 +0900
commit7d5b251f1e5067a8f78720ef7f6dc90fb5eb0d3d (patch)
tree4da4c12392774e74dbbfaec4fdb907982edd3283
parent0fa692efef1e26b48040418ac6968e78471812e0 (diff)
parent62cce30d39834e51f9b4231468e577a78708b0b1 (diff)
downloadwifi-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.c5
-rw-r--r--src/wifi-aware-gdbus.c1
-rw-r--r--src/wifi-aware-private.c20
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)