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

Reply via email to