diff options
author | Nicola Pero <nicola@gcc.gnu.org> | 2001-07-18 11:21:20 +0000 |
---|---|---|
committer | Nicola Pero <nicola@gcc.gnu.org> | 2001-07-18 11:21:20 +0000 |
commit | 054af139880dd424ec00e148541344af8bc4897c (patch) | |
tree | 9fb7c2439676b7cfad96f8c55498f71f3ceb5db7 /gcc/gthr-posix.h | |
parent | b8dd1bcdbeb096a1acf59cc9b791189c4f73b270 (diff) | |
download | gcc-054af139880dd424ec00e148541344af8bc4897c.tar.gz |
Fixed backend function of objc_mutex_trylock which was broken
From-SVN: r44104
Diffstat (limited to 'gcc/gthr-posix.h')
-rw-r--r-- | gcc/gthr-posix.h | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/gcc/gthr-posix.h b/gcc/gthr-posix.h index 8981eb66732..c047e559823 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 */ |