From 4dabf73695a37ef07074248a631edd06732bf8f9 Mon Sep 17 00:00:00 2001 From: Janne Blomqvist Date: Sat, 1 Mar 2008 12:46:31 +0200 Subject: re PR libfortran/35063 (Clean up use of destroy_unit_mutex()) gcc: 2008-03-01 Janne Blomqvist PR gcc/35063 * gthr.h: Add __gthread_mutex_destroy as a function that must be implemented. * gthr-vxworks.h (__gthread_mutex_destroy): Null implementation. * gthr-single.h (__gthread_mutex_destroy): Likewise. * gthr-rtems.h (__gthread_mutex_destroy): Likewise. * gthr-mipssde.h (__gthread_mutex_destroy): Likewise. * gthr-nks.h (__gthread_mutex_destroy): Likewise. * gthr-solaris.h (__gthread_mutex_destroy): Call mutex_destroy. * gthr-win32.h (__GTHREAD_MUTEX_DESTROY_FUNCTION): Remove. (__gthread_mutex_destroy_function): Rename to __gthread_mutex_destroy. * gthr-dce.h (__gthread_mutex_destroy): Call pthread_mutex_destroy. * gthr-tpf.h (__gthread_mutex_destroy): Likewise. * gthr-posix.h (__gthread_mutex_destroy): Likewise. * gthr-posix95.h (__gthread_mutex_destroy): Likewise. libgfortran: 2008-03-01 Janne Blomqvist PR libfortran/35063 * io/unit.c (destroy_unit_mutex): Call __gthread_mutex_destroy instead of macro kludge. From-SVN: r132800 --- gcc/gthr-posix.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'gcc/gthr-posix.h') diff --git a/gcc/gthr-posix.h b/gcc/gthr-posix.h index ad6822e..b0c9ebb 100644 --- a/gcc/gthr-posix.h +++ b/gcc/gthr-posix.h @@ -94,6 +94,7 @@ __gthrw3(pthread_mutex_lock) __gthrw3(pthread_mutex_trylock) __gthrw3(pthread_mutex_unlock) __gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) __gthrw3(pthread_cond_broadcast) __gthrw3(pthread_cond_wait) #else @@ -106,6 +107,7 @@ __gthrw(pthread_mutex_lock) __gthrw(pthread_mutex_trylock) __gthrw(pthread_mutex_unlock) __gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) __gthrw(pthread_cond_broadcast) __gthrw(pthread_cond_wait) #endif @@ -677,6 +679,15 @@ __gthread_setspecific (__gthread_key_t key, const void *ptr) } static inline int +__gthread_mutex_destroy (__gthread_mutex_t *mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (mutex); + else + return 0; +} + +static inline int __gthread_mutex_lock (__gthread_mutex_t *mutex) { if (__gthread_active_p ()) -- cgit v1.1