[417] Fix lazy bridges not timing out for idle_timeout.

Thanks to spinachmedia.

Bug: https://github.com/eclipse/mosquitto/issues/417
pull/472/head
Roger A. Light 8 years ago
parent 8f59d5ad28
commit 326983d35e

@ -1,5 +1,6 @@
Broker: Broker:
- Fix for poor websockets performance. - Fix for poor websockets performance.
- Fix lazy bridges not timing out for idle_timeout. Closes #417.
Clients: Clients:
- Don't use / in auto-generated client ids. - Don't use / in auto-generated client ids.

@ -95,7 +95,7 @@ void _mosquitto_check_keepalive(struct mosquitto *mosq)
/* Check if a lazy bridge should be timed out due to idle. */ /* Check if a lazy bridge should be timed out due to idle. */
if(mosq->bridge && mosq->bridge->start_type == bst_lazy if(mosq->bridge && mosq->bridge->start_type == bst_lazy
&& mosq->sock != INVALID_SOCKET && mosq->sock != INVALID_SOCKET
&& now - mosq->next_msg_out - mosq->keepalive >= mosq->bridge->idle_timeout){ && now - mosq->next_msg_out + mosq->keepalive >= mosq->bridge->idle_timeout){
_mosquitto_log_printf(NULL, MOSQ_LOG_NOTICE, "Bridge connection %s has exceeded idle timeout, disconnecting.", mosq->id); _mosquitto_log_printf(NULL, MOSQ_LOG_NOTICE, "Bridge connection %s has exceeded idle timeout, disconnecting.", mosq->id);
_mosquitto_socket_close(db, mosq); _mosquitto_socket_close(db, mosq);

Loading…
Cancel
Save