From edeeef0d201a936f27064f718cdbcaad101444af Mon Sep 17 00:00:00 2001 From: Giuseppe Modugno Date: Tue, 11 Jun 2019 07:40:15 +0200 Subject: [PATCH] mqtt: fix ping request coming too late See bug #56022 and patch #9813 Signed-off-by: Simon Goldschmidt --- src/apps/mqtt/mqtt.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/apps/mqtt/mqtt.c b/src/apps/mqtt/mqtt.c index 096215e2..76c6bbc7 100644 --- a/src/apps/mqtt/mqtt.c +++ b/src/apps/mqtt/mqtt.c @@ -603,14 +603,13 @@ mqtt_cyclic_timer(void *arg) } /* If time for a keep alive message to be sent, transmission has been idle for keep_alive time */ + client->cyclic_tick++; if ((client->cyclic_tick * MQTT_CYCLIC_TIMER_INTERVAL) >= client->keep_alive) { LWIP_DEBUGF(MQTT_DEBUG_TRACE, ("mqtt_cyclic_timer: Sending keep-alive message to server\n")); if (mqtt_output_check_space(&client->output, 0) != 0) { mqtt_output_append_fixed_header(&client->output, MQTT_MSG_TYPE_PINGREQ, 0, 0, 0, 0); client->cyclic_tick = 0; } - } else { - client->cyclic_tick++; } } } else {