From 2a38b7115b605bce3e9c9bcf7c376bfce345e80c Mon Sep 17 00:00:00 2001 From: Abilio Marques Date: Fri, 26 Feb 2021 01:00:48 +0100 Subject: [PATCH] brige: fix backoff not working for remote broker returned errors Signed-off-by: Abilio Marques --- src/bridge.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/bridge.c b/src/bridge.c index d10d12696b..8487dbb802 100644 --- a/src/bridge.c +++ b/src/bridge.c @@ -313,10 +313,8 @@ int bridge__connect_step3(struct mosquitto *context) rc = send__connect(context, context->keepalive, context->clean_start, NULL); if(rc == MOSQ_ERR_SUCCESS){ - bridge__backoff_reset(context); return MOSQ_ERR_SUCCESS; }else if(rc == MOSQ_ERR_ERRNO && errno == ENOTCONN){ - bridge__backoff_reset(context); return MOSQ_ERR_SUCCESS; }else{ if(rc == MOSQ_ERR_TLS){ @@ -454,10 +452,8 @@ int bridge__connect(struct mosquitto *context) rc2 = send__connect(context, context->keepalive, context->clean_start, NULL); if(rc2 == MOSQ_ERR_SUCCESS){ - bridge__backoff_reset(context); return rc; }else if(rc2 == MOSQ_ERR_ERRNO && errno == ENOTCONN){ - bridge__backoff_reset(context); return MOSQ_ERR_SUCCESS; }else{ if(rc2 == MOSQ_ERR_TLS){ @@ -562,6 +558,8 @@ int bridge__on_connect(struct mosquitto *context) } } + bridge__backoff_reset(context); + return MOSQ_ERR_SUCCESS; }