diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c index 08d4652c8decf22efde115116e0f7c1429972ada..ffd5d34c089c04eb03a0abe47a0a5bcf01286710 100644 --- a/src/sbbs3/websrvr.c +++ b/src/sbbs3/websrvr.c @@ -4311,9 +4311,11 @@ void http_output_thread(void *arg) thread_down(); sem_post(&session->output_thread_terminated); /* Ensure outbuf isn't currently being drained */ - pthread_mutex_lock(&session->outbuf_write); - pthread_mutex_unlock(&session->outbuf_write); - pthread_mutex_destroy(&session->outbuf_write); + if(session->outbuf_write_initialized) { + pthread_mutex_lock(&session->outbuf_write); + pthread_mutex_unlock(&session->outbuf_write); + pthread_mutex_destroy(&session->outbuf_write); + } } void http_session_thread(void* arg)