From 0f22e11c4ceee6ce9245552a97ff42fd9d699a26 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Fri, 15 Sep 2006 18:57:10 +0000
Subject: [PATCH] Attempt fix for new exception in http_output_thread() by
 checking outbuf_write_initialized before locking/unlocking/destroying outbuf
 mutex.

---
 src/sbbs3/websrvr.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c
index 08d4652c8d..ffd5d34c08 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)
-- 
GitLab