From 2ebbb994e367f55f2561aa7c9e7451703c171f2f Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Fri, 14 Dec 2012 11:01:41 +0200 Subject: [PATCH] liblzma: Fix mythread_sync for nested locking. --- src/common/mythread.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/common/mythread.h b/src/common/mythread.h index c538dea..637b8ac 100644 --- a/src/common/mythread.h +++ b/src/common/mythread.h @@ -70,8 +70,9 @@ do { \ /// things down at all compared to plain pthread_mutex_lock(&mutex) /// and pthread_mutex_unlock(&mutex) calls. /// -#define mythread_sync(mutex) mythread_sync_helper(mutex, __LINE__) -#define mythread_sync_helper(mutex, line) \ +#define mythread_sync(mutex) mythread_sync_helper1(mutex, __LINE__) +#define mythread_sync_helper1(mutex, line) mythread_sync_helper2(mutex, line) +#define mythread_sync_helper2(mutex, line) \ for (unsigned int mythread_i_ ## line = 0; \ mythread_i_ ## line \ ? (pthread_mutex_unlock(&(mutex)), 0) \