summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomasz Bursztyka <tomasz.bursztyka@linux.intel.com>2012-04-16 16:21:38 +0300
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-04-17 13:37:37 +0300
commit1f29bcea3f72f461d402a6ba439f6a50ed370a36 (patch)
tree4e1cd5e8eef062186871cc1fc5e1551e6c8da891
parent572921204c6da65d0bf59f90c81592abd2c977c0 (diff)
downloadconnman-1f29bcea3f72f461d402a6ba439f6a50ed370a36.tar.gz
connman-1f29bcea3f72f461d402a6ba439f6a50ed370a36.tar.bz2
connman-1f29bcea3f72f461d402a6ba439f6a50ed370a36.zip
service: Do not autoconnect if service is getting removed
While unplugging ethernet cable, __connman_service_remove_from_network() is called since related network is getting cleaned up. Therefore ethernet service goes from online/ready to disconnected, and end to idle state. However, at that state auto_connect() is called (even if this service is "planned" to disappear due to network getting cleaned up) adn we end up with ethernet network not disappearing, nor its related service. We only need to set the service as "ignored", so auto_connect will ignore that particular service.
-rw-r--r--src/service.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c
index 5ce6f327..5805bfcb 100644
--- a/src/service.c
+++ b/src/service.c
@@ -5854,6 +5854,8 @@ void __connman_service_remove_from_network(struct connman_network *network)
if (service == NULL)
return;
+ service->ignore = TRUE;
+
__connman_connection_gateway_remove(service,
CONNMAN_IPCONFIG_TYPE_ALL);