gthr-tpf.h (__gthread_recursive_mutex_t): New type.

2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>

	* gthr-tpf.h (__gthread_recursive_mutex_t): New type.
	(__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
	(__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
	__gthread_recursive_mutex_unlock): New functions.

From-SVN: r88418
This commit is contained in:
P.J. Darcy 2004-10-02 00:48:44 +00:00 committed by Ulrich Weigand
parent 3ff688aa85
commit ee0f32f4ac
2 changed files with 41 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2004-10-02 P.J. Darcy <darcypj@us.ibm.com>
* gthr-tpf.h (__gthread_recursive_mutex_t): New type.
(__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
(__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
__gthread_recursive_mutex_unlock): New functions.
2004-10-02 P.J. Darcy <darcypj@us.ibm.com>
* config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.

View File

@ -51,6 +51,13 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
typedef pthread_key_t __gthread_key_t;
typedef pthread_once_t __gthread_once_t;
typedef pthread_mutex_t __gthread_mutex_t;
typedef pthread_mutex_t __gthread_recursive_mutex_t;
#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER)
#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER
#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP)
#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
#endif
#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER
#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT
@ -154,4 +161,31 @@ __gthread_mutex_unlock (__gthread_mutex_t *mutex)
return 0;
}
static inline int
__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex)
{
if (__tpf_pthread_active ())
return __gthread_mutex_lock (mutex);
else
return 0;
}
static inline int
__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex)
{
if (__tpf_pthread_active ())
return __gthread_mutex_trylock (mutex);
else
return 0;
}
static inline int
__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex)
{
if (__tpf_pthread_active ())
return __gthread_mutex_unlock (mutex);
else
return 0;
}
#endif /* ! GCC_GTHR_TPF_H */