diff options
author | Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com> | 2012-04-16 16:21:38 +0300 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-04-17 13:37:37 +0300 |
commit | 1f29bcea3f72f461d402a6ba439f6a50ed370a36 (patch) | |
tree | 4e1cd5e8eef062186871cc1fc5e1551e6c8da891 | |
parent | 572921204c6da65d0bf59f90c81592abd2c977c0 (diff) | |
download | connman-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.c | 2 |
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); |