From: Daniel Wagner <[email protected]>
It is necessary to assing the device pointer NULL before
calling disconnecting because the service state machine
could try to reconnect to this network.
In this case service refcounts inderectly the network object
and therefore the network object will never be destroyed.
The service state machine will ignore any network without a device
when selecting a new service to connect to (see service.c:is_ignored()).
---
src/network.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/network.c b/src/network.c
index 4664ea5..490724a 100644
--- a/src/network.c
+++ b/src/network.c
@@ -179,6 +179,7 @@ static void network_remove(struct connman_network *network)
if (network->driver == NULL)
return;
+ network->device = NULL;
connman_network_set_connected(network, FALSE);
switch (network->type) {
--
1.7.10.rc3.1.gb3065
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman