From 6aa4055ef0544ae85457c25c510fe3db04949c43 Mon Sep 17 00:00:00 2001 From: hyunuktak Date: Fri, 7 Aug 2015 17:11:34 +0900 Subject: Base Code merged to SPIN 2.4 Signed-off-by: hyunuktak Change-Id: I84a42375b5c59739e4caca1f726699ea7647ef17 --- src/connection.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) mode change 100644 => 100755 src/connection.c (limited to 'src/connection.c') diff --git a/src/connection.c b/src/connection.c old mode 100644 new mode 100755 index 8fe97258..aa4e1c05 --- a/src/connection.c +++ b/src/connection.c @@ -401,13 +401,9 @@ static struct gateway_data *add_gateway(struct connman_service *service, data->ipv4_gateway = old->ipv4_gateway; old->ipv4_gateway = NULL; } - } else { - /* - * Only take a ref if we are adding new stuff to hash. - */ - connman_service_ref(service); } + connman_service_ref(data->service); g_hash_table_replace(gateway_hash, service, data); return data; @@ -708,6 +704,8 @@ static void remove_gateway(gpointer user_data) g_free(data->ipv6_gateway); } + connman_service_unref(data->service); + g_free(data); } @@ -999,9 +997,7 @@ void __connman_connection_gateway_remove(struct connman_service *service, (data->ipv4_gateway && !data->ipv6_gateway && do_ipv4) || (data->ipv6_gateway && !data->ipv4_gateway - && do_ipv6) - ) { - connman_service_unref(service); + && do_ipv6)) { g_hash_table_remove(gateway_hash, service); } else DBG("Not yet removing gw ipv4 %p/%d ipv6 %p/%d", -- cgit v1.2.3