Wpa_supplicant might stop without signaling the peer to be lost, thus
when cleaning up it's up to remove_peer() to call peer_lost callback so
the wifi plugin can handle it properly.
---
gsupplicant/supplicant.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
index 9bbc4ca..85b51b3 100644
--- a/gsupplicant/supplicant.c
+++ b/gsupplicant/supplicant.c
@@ -541,6 +541,8 @@ static void remove_peer(gpointer data)
{
GSupplicantPeer *peer = data;
+ callback_peer_lost(peer);
+
g_free(peer->path);
g_free(peer->name);
g_free(peer->identifier);
@@ -2550,7 +2552,6 @@ static void signal_peer_lost(const char *path,
DBusMessageIter *iter)
if (!peer)
return;
- callback_peer_lost(peer);
g_hash_table_remove(interface->peer_table, obj_path);
}
--
1.8.5.5
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman