diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2009-05-14 23:48:44 -0700 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-05-14 23:48:44 -0700 |
commit | 10bdc91dc606042ebb323f3017e5778274609275 (patch) | |
tree | 48fbd8a3b81578edb7f942c2b02331902d9f7b55 | |
parent | 96b695f77aa32ed7272264889e41bb0a6830e101 (diff) | |
download | connman-10bdc91dc606042ebb323f3017e5778274609275.tar.gz connman-10bdc91dc606042ebb323f3017e5778274609275.tar.bz2 connman-10bdc91dc606042ebb323f3017e5778274609275.zip |
Make sure to disconnect network on removal
-rw-r--r-- | src/service.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c index 88b131a2..7809918f 100644 --- a/src/service.c +++ b/src/service.c @@ -379,8 +379,13 @@ static DBusMessage *disconnect_service(DBusConnection *conn, } if (service->network != NULL) { + struct connman_device *device; int err; + device = connman_network_get_device(service->network); + if (device != NULL) + __connman_device_disconnect(device); + err = __connman_network_disconnect(service->network); if (err < 0 && err != -EINPROGRESS) return __connman_error_failed(msg, -err); @@ -413,8 +418,13 @@ static DBusMessage *remove_service(DBusConnection *conn, return __connman_error_not_supported(msg); if (service->network != NULL) { + struct connman_device *device; int err; + device = connman_network_get_device(service->network); + if (device != NULL) + __connman_device_disconnect(device); + err = __connman_network_disconnect(service->network); if (err < 0 && err != -EINPROGRESS) return __connman_error_failed(msg, -err); |