From: Nicola Pero Date: Wed, 18 Jul 2001 11:21:20 +0000 (+0000) Subject: Fixed backend function of objc_mutex_trylock which was broken X-Git-Tag: prereleases/libstdc++-3.0.95~3216 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=054af139880dd424ec00e148541344af8bc4897c;p=thirdparty%2Fgcc.git Fixed backend function of objc_mutex_trylock which was broken From-SVN: r44104 --- diff --git a/gcc/gthr-posix.h b/gcc/gthr-posix.h index 8981eb66732c..c047e5598238 100644 --- a/gcc/gthr-posix.h +++ b/gcc/gthr-posix.h @@ -331,30 +331,39 @@ __gthread_objc_mutex_deallocate(objc_mutex_t mutex) static inline int __gthread_objc_mutex_lock(objc_mutex_t mutex) { - if (__gthread_active_p ()) - return pthread_mutex_lock((pthread_mutex_t *)mutex->backend); - else - return 0; + if (__gthread_active_p () + && pthread_mutex_lock((pthread_mutex_t *)mutex->backend) != 0) + { + return -1; + } + + return 0; } /* Try to grab a lock on a mutex. */ static inline int __gthread_objc_mutex_trylock(objc_mutex_t mutex) { - if (__gthread_active_p ()) - return pthread_mutex_trylock((pthread_mutex_t *)mutex->backend); - else - return 0; + if (__gthread_active_p () + && pthread_mutex_trylock((pthread_mutex_t *)mutex->backend) != 0) + { + return -1; + } + + return 0; } /* Unlock the mutex */ static inline int __gthread_objc_mutex_unlock(objc_mutex_t mutex) { - if (__gthread_active_p ()) - return pthread_mutex_unlock((pthread_mutex_t *)mutex->backend); - else - return 0; + if (__gthread_active_p () + && pthread_mutex_unlock((pthread_mutex_t *)mutex->backend) != 0) + { + return -1; + } + + return 0; } /* Backend condition mutex functions */