From af62314caf469a2d87380c211b0308987065be07 Mon Sep 17 00:00:00 2001 From: Samuel Ortiz Date: Fri, 25 Feb 2011 15:32:56 +0100 Subject: [PATCH] network: Remove gateway when network disconnects --- src/connection.c | 4 ++++ src/network.c | 9 ++------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/connection.c b/src/connection.c index 793bc8f..fb2e431 100644 --- a/src/connection.c +++ b/src/connection.c @@ -352,6 +352,10 @@ void __connman_connection_gateway_remove(struct connman_service *service) CONNMAN_SERVICE_STATE_DISCONNECT, CONNMAN_IPCONFIG_TYPE_IPV4); + __connman_service_indicate_state(service, + CONNMAN_SERVICE_STATE_DISCONNECT, + CONNMAN_IPCONFIG_TYPE_IPV6); + data = g_hash_table_lookup(gateway_hash, service); if (data == NULL) return; diff --git a/src/network.c b/src/network.c index ae58347..2ad073b 100644 --- a/src/network.c +++ b/src/network.c @@ -923,17 +923,12 @@ static gboolean set_connected(gpointer user_data) service = __connman_service_lookup_from_network(network); + __connman_connection_gateway_remove(service); + __connman_service_indicate_state(service, CONNMAN_SERVICE_STATE_IDLE, CONNMAN_IPCONFIG_TYPE_IPV4); - /* TODO: eventually the IPv6 disconnect state should be handled - * in connection.c - */ - __connman_service_indicate_state(service, - CONNMAN_SERVICE_STATE_DISCONNECT, - CONNMAN_IPCONFIG_TYPE_IPV6); - __connman_service_indicate_state(service, CONNMAN_SERVICE_STATE_IDLE, CONNMAN_IPCONFIG_TYPE_IPV6); -- 2.7.4