dhcp_client->t1_timeout was getting removed when continue_renew()
returned FALSE and was tried to remove again in remove_timeouts() in
listener_event() when dhcp state was RENEWING and dhcp_client->T1 was
less than 60 resulting in GLIB Error
(connmand:4076): GLib-CRITICAL **: Source ID 196 was not found when
attempting to remove it
This patch explicitly sets dhcp_client->t1_timeout to 0 so that it is
not removed again.
---
gdhcp/client.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gdhcp/client.c b/gdhcp/client.c
index 5a4a89c..084cd7e 100644
--- a/gdhcp/client.c
+++ b/gdhcp/client.c
@@ -1723,6 +1723,8 @@ static gboolean continue_renew (gpointer user_data)
if (dhcp_client->t1_timeout > 0)
g_source_remove(dhcp_client->t1_timeout);
+ dhcp_client->t1_timeout = 0;
+
dhcp_client->T1 >>= 1;
if (dhcp_client->T1 > 60) {
--
1.9.1
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman