From 9adf65a3f97cfaf5ba6d103d0b811fd6424c398e Mon Sep 17 00:00:00 2001 From: oehhar Date: Fri, 22 Aug 2025 17:09:07 +0000 Subject: [893f8cc5] tip509 nested mutex patch by Christian (thanks!) --- unix/tclUnixThrd.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/unix/tclUnixThrd.c b/unix/tclUnixThrd.c index ae22e46..04e1747 100644 --- a/unix/tclUnixThrd.c +++ b/unix/tclUnixThrd.c @@ -147,7 +147,13 @@ PCondWait( pthread_cond_t *pcondPtr, PMutex *pmutexPtr) { + int counter = pmutexPtr->counter; + + pmutexPtr->thread = 0; + pmutexPtr->counter = 0; pthread_cond_wait(pcondPtr, &pmutexPtr->mutex); + pmutexPtr->thread = pthread_self(); + pmutexPtr->counter = counter; } static void @@ -156,7 +162,13 @@ PCondTimedWait( PMutex *pmutexPtr, struct timespec *ptime) { + int counter = pmutexPtr->counter; + + pmutexPtr->thread = 0; + pmutexPtr->counter = 0; pthread_cond_timedwait(pcondPtr, &pmutexPtr->mutex, ptime); + pmutexPtr->thread = pthread_self(); + pmutexPtr->counter = counter; } #endif /* HAVE_PTHREAD_MUTEX_RECURSIVE */ -- cgit v0.12