Fix callback deadlocks after calling mosquitto_disconnect(), when using the threaded interfaces. Closes bug #1313725.

Thanks to Michael Frommberger.
This commit is contained in:
Roger A. Light 2014-05-16 10:20:45 +01:00
parent 06625420e2
commit b6f2d3e087
2 changed files with 3 additions and 0 deletions

View File

@ -18,6 +18,8 @@ Broker:
Client library:
- Fix topic matching edge case.
- Fix callback deadlocks after calling mosquitto_disconnect(), when using the
threaded interfaces. Closes bug #1313725.
General:
- Use $(STRIP) for stripping binaries when installing, to allow easier cross

View File

@ -776,6 +776,7 @@ int _mosquitto_packet_write(struct mosquitto *mosq)
mosq->on_disconnect(mosq, mosq->userdata, 0);
mosq->in_callback = false;
}
pthread_mutex_unlock(&mosq->callback_mutex);
pthread_mutex_unlock(&mosq->current_out_packet_mutex);
return MOSQ_ERR_SUCCESS;
}