Unsubscribe signal on timeout callback
authorsung.goo.kim <sung.goo.kim@samsung.com>
Thu, 5 Nov 2015 01:49:21 +0000 (10:49 +0900)
committerYoungjae Shin <yj99.shin@samsung.com>
Tue, 10 Nov 2015 10:12:41 +0000 (19:12 +0900)
Change-Id: If4064684981743901b8212b96b49314fffa89b8f

lib/icl-device.c
lib/icl-remote-resource.c

index 68f0454eea9098ad7b20175fbaeca8fbe470046b..6430934b3523ae197fc305898191295116f8fbe5 100644 (file)
@@ -102,10 +102,8 @@ static void _icl_device_info_cb(GDBusConnection *connection,
        icl_device_info_s *cb_container = user_data;
        iotcon_device_info_cb cb = cb_container->cb;
 
-       if (cb_container->timeout_id) {
-               g_source_remove(cb_container->timeout_id);
+       if (cb_container->timeout_id)
                cb_container->timeout_id = 0;
-       }
 
        g_variant_get(parameters, "(&s&s&s&s&s)", &uri_path, &info.device_name,
                        &info.spec_ver, &info.device_id, &info.data_model_ver);
@@ -127,7 +125,7 @@ static gboolean _icl_timeout_get_device_info(gpointer p)
                return G_SOURCE_REMOVE;
        }
 
-       if (cb_container->cb)
+       if (cb_container->timeout_id && cb_container->cb)
                cb_container->cb(&info, IOTCON_ERROR_TIMEOUT, cb_container->user_data);
 
        icl_dbus_unsubscribe_signal(cb_container->id);
@@ -256,10 +254,8 @@ static void _icl_platform_info_cb(GDBusConnection *connection,
        icl_platform_info_s *cb_container = user_data;
        iotcon_platform_info_cb cb = cb_container->cb;
 
-       if (cb_container->timeout_id) {
-               g_source_remove(cb_container->timeout_id);
+       if (cb_container->timeout_id)
                cb_container->timeout_id = 0;
-       }
 
        g_variant_get(parameters, "(&s&s&s&s&s&s&s&s&s&s&s&s)",
                        &uri_path,
@@ -292,7 +288,7 @@ static gboolean _icl_timeout_get_platform_info(gpointer p)
                return G_SOURCE_REMOVE;
        }
 
-       if (cb_container->cb)
+       if (cb_container->timeout_id && cb_container->cb)
                cb_container->cb(&info, IOTCON_ERROR_TIMEOUT, cb_container->user_data);
 
        icl_dbus_unsubscribe_signal(cb_container->id);
index e62355d5f18dd7d4920d9069863b5c46b42f01e1..6331c20af86a6ea63c9d8f84b0a2ff537f8b6a92 100644 (file)
@@ -56,10 +56,8 @@ static void _icl_found_resource_cb(GDBusConnection *connection,
        icl_found_resource_s *cb_container = user_data;
        iotcon_found_resource_cb cb = cb_container->cb;
 
-       if (cb_container->timeout_id) {
-               g_source_remove(cb_container->timeout_id);
+       if (cb_container->timeout_id)
                cb_container->timeout_id = 0;
-       }
 
        g_variant_get(parameters, "(vi)", &payload, &connectivity_type);
 
@@ -84,7 +82,7 @@ static gboolean _icl_timeout_find_resource(gpointer p)
                return G_SOURCE_REMOVE;
        }
 
-       if (cb_container->cb)
+       if (cb_container->timeout_id && cb_container->cb)
                cb_container->cb(NULL, IOTCON_ERROR_TIMEOUT, cb_container->user_data);
 
        icl_dbus_unsubscribe_signal(cb_container->id);