nsd: Remove resolve and getaddrinfo sockets when browsing is stopped 37/143337/2
authorSaurav Babu <saurav.babu@samsung.com>
Wed, 9 Aug 2017 09:44:04 +0000 (15:14 +0530)
committerSaurav Babu <saurav.babu@samsung.com>
Wed, 9 Aug 2017 09:48:08 +0000 (09:48 +0000)
Change-Id: If8b676cf8df6ad51b5acbfe4f87c8ee0f5afb500
Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
src/dns-sd/dns-sd.c

index a9c79df15cb6935589194aaee35bb321c176e1b4..11d3974a0e7ca5ecd000fd34a84a097c76e151e2 100644 (file)
@@ -1444,6 +1444,9 @@ static void __dnssd_remove_found_service(gpointer data, gpointer user_data)
        dnssd_handle_list = g_slist_remove(dnssd_handle_list,
                        found_handle);
 
+       if (found_handle->watch_id > 0)
+               __remove_service_getaddrinfo_socket(found_handle);
+
        g_free(found_handle->service_type);
        g_free(found_data->service_name);
        g_free(found_data->host);
@@ -1503,6 +1506,10 @@ int dnssd_stop_browsing_service(dnssd_browser_h dnssd_service)
                if (resolve_data->dnssd_handle == local_handle) {
                        resolve_handle_list = g_slist_remove(resolve_handle_list,
                                        resolve_data);
+
+                       if (resolve_data->watch_id > 0)
+                               __remove_service_resolve_socket(resolve_data);
+
                        g_free(resolve_data->service_name);
                        g_free(resolve_data);
                }