From e98cc28cd32760f9876703066c6d6a363f81835a Mon Sep 17 00:00:00 2001 From: "Roger A. Light" Date: Thu, 28 Jan 2021 09:29:52 +0000 Subject: [PATCH] Move check after current_out_packet is updated. --- lib/packet_mosq.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/packet_mosq.c b/lib/packet_mosq.c index 84f93cb8..ebe6b6b8 100644 --- a/lib/packet_mosq.c +++ b/lib/packet_mosq.c @@ -215,12 +215,6 @@ int packet__write(struct mosquitto *mosq) if(!mosq) return MOSQ_ERR_INVAL; if(mosq->sock == INVALID_SOCKET) return MOSQ_ERR_NO_CONN; -#ifdef WITH_BROKER - if (mosq->current_out_packet) { - mux__add_out(mosq); - } -#endif - pthread_mutex_lock(&mosq->current_out_packet_mutex); pthread_mutex_lock(&mosq->out_packet_mutex); if(mosq->out_packet && !mosq->current_out_packet){ @@ -232,6 +226,12 @@ int packet__write(struct mosquitto *mosq) } pthread_mutex_unlock(&mosq->out_packet_mutex); +#ifdef WITH_BROKER + if(mosq->current_out_packet){ + mux__add_out(mosq); + } +#endif + state = mosquitto__get_state(mosq); #if defined(WITH_TLS) && !defined(WITH_BROKER) if(state == mosq_cs_connect_pending || mosq->want_connect){