# HG changeset patch # User Bruno Haible # Date 1219056072 -7200 # Node ID 8a9ef2dbc16155b9c51a7acd25b66fcc3dbf80c8 # Parent 9a346ffa242e50fbab1925037ae719d1a7afa0e4 Fix 2008-08-03 change. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-08-18 Bruno Haible + + * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix + glthread_recursive_lock_* macros. + * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded): + Fix syntax error. + 2008-08-18 Bruno Haible * lib/glthread/thread.c: Avoid forcing a context switch right after diff --git a/lib/glthread/lock.c b/lib/glthread/lock.c --- a/lib/glthread/lock.c +++ b/lib/glthread/lock.c @@ -445,7 +445,7 @@ { if (lock->owner != (pthread_t) 0) return EBUSY; - return (pthread_mutex_destroy (&lock->mutex); + return pthread_mutex_destroy (&lock->mutex); } # endif diff --git a/lib/glthread/lock.h b/lib/glthread/lock.h --- a/lib/glthread/lock.h +++ b/lib/glthread/lock.h @@ -577,33 +577,13 @@ # define gl_recursive_lock_initializer \ { DEFAULTMUTEX, (thread_t) 0, 0 } # define glthread_recursive_lock_init(LOCK) \ - do \ - { \ - if (thread_in_use ()) \ - glthread_recursive_lock_init_multithreaded (LOCK); \ - } \ - while (0) + (thread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0) # define glthread_recursive_lock_lock(LOCK) \ - do \ - { \ - if (thread_in_use ()) \ - glthread_recursive_lock_lock_multithreaded (LOCK); \ - } \ - while (0) + (thread_in_use () ? glthread_recursive_lock_lock_multithreaded (LOCK) : 0) # define glthread_recursive_lock_unlock(LOCK) \ - do \ - { \ - if (thread_in_use ()) \ - glthread_recursive_lock_unlock_multithreaded (LOCK); \ - } \ - while (0) + (thread_in_use () ? glthread_recursive_lock_unlock_multithreaded (LOCK) : 0) # define glthread_recursive_lock_destroy(LOCK) \ - do \ - { \ - if (thread_in_use ()) \ - glthread_recursive_lock_destroy_multithreaded (LOCK); \ - } \ - while (0) + (thread_in_use () ? glthread_recursive_lock_destroy_multithreaded (LOCK) : 0) extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock); extern int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock); extern int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock);