From 3b788a408d4723fb844071b1ae33ba38dcb83552 Mon Sep 17 00:00:00 2001
From: deuce <>
Date: Fri, 21 Oct 2005 19:35:43 +0000
Subject: [PATCH] Loop mutex destruction on EBUSY. Does Win32 hate this?

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

diff --git a/src/sbbs3/ringbuf.c b/src/sbbs3/ringbuf.c
index 23817b3c49..c7dba78101 100644
--- a/src/sbbs3/ringbuf.c
+++ b/src/sbbs3/ringbuf.c
@@ -127,8 +127,9 @@ void RINGBUFCALL RingBufDispose( RingBuf* rb)
 		CloseEvent(rb->empty_event);
 #endif
 #ifdef RINGBUF_MUTEX
-	pthread_mutex_destroy(&rb->mutex);
-#endif
+	while(pthread_mutex_destroy(&rb->mutex)==-1 && errno==EBUSY)
+		SLEEP(1);
+#endi
 	memset(rb,0,sizeof(RingBuf));
 }
 
-- 
GitLab