diff --git a/src/sbbs3/ringbuf.c b/src/sbbs3/ringbuf.c index 23817b3c4912f18d2b36f5a7167422302e5ba545..c7dba781016ba59aa4952e97aabfcd0c2b97c661 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)); }