From f23f48ecce693af5ce23244bef4387b2027fc064 Mon Sep 17 00:00:00 2001 From: "Roger A. Light" Date: Tue, 20 May 2014 10:22:06 +0100 Subject: [PATCH] Don't use exit() on SRV failure. --- lib/srv_mosq.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/srv_mosq.c b/lib/srv_mosq.c index 276080d6..b6f2e46d 100644 --- a/lib/srv_mosq.c +++ b/lib/srv_mosq.c @@ -40,7 +40,14 @@ static void srv_callback(void *arg, int status, int timeouts, unsigned char *abu } }else{ _mosquitto_log_printf(mosq, MOSQ_LOG_ERR, "Error: SRV lookup failed (%d).", status); - exit(1); + /* FIXME - calling on_disconnect here isn't correct. */ + pthread_mutex_lock(&mosq->callback_mutex); + if(mosq->on_disconnect){ + mosq->in_callback = true; + mosq->on_disconnect(mosq, mosq->userdata, 2); + mosq->in_callback = false; + } + pthread_mutex_unlock(&mosq->callback_mutex); } } #endif