X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Flibldap_r%2Fthr_pth.c;h=d0bcc4736270c40f6c67d30d43ccc5a097826c5c;hb=59e9ff6243465640956b58ad1756a3ede53eca7c;hp=4bf4aeeb7a22ab27a079f3dcc05e7895ad8f8f22;hpb=ff6bc13166536df9ed6e8fd3f7f72f9738f09cf8;p=openldap diff --git a/libraries/libldap_r/thr_pth.c b/libraries/libldap_r/thr_pth.c index 4bf4aeeb7a..d0bcc47362 100644 --- a/libraries/libldap_r/thr_pth.c +++ b/libraries/libldap_r/thr_pth.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2014 The OpenLDAP Foundation. + * Copyright 1998-2018 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -129,6 +129,13 @@ ldap_pvt_thread_mutex_init( ldap_pvt_thread_mutex_t *mutex ) return( pth_mutex_init( mutex ) ? 0 : errno ); } +int +ldap_pvt_thread_mutex_recursive_init( ldap_pvt_thread_mutex_t *mutex ) +{ + /* All pth mutexes are recursive */ + return ldap_pvt_thread_mutex_init( mutex ); +} + int ldap_pvt_thread_mutex_destroy( ldap_pvt_thread_mutex_t *mutex ) { @@ -153,6 +160,17 @@ ldap_pvt_thread_mutex_trylock( ldap_pvt_thread_mutex_t *mutex ) return( pth_mutex_acquire( mutex, 1, NULL ) ? 0 : errno ); } +int ldap_pvt_thread_mutex_recursive_init( ldap_pvt_thread_mutex_recursive_t *mutex ) + LDAP_GCCATTR((alias("ldap_pvt_thread_mutex_init"))); +int ldap_pvt_thread_mutex_recursive_destroy( ldap_pvt_thread_mutex_recursive_t *mutex ) + LDAP_GCCATTR((alias("ldap_pvt_thread_mutex_destroy"))); +int ldap_pvt_thread_mutex_recursive_lock( ldap_pvt_thread_mutex_recursive_t *mutex ) + LDAP_GCCATTR((alias("ldap_pvt_thread_mutex_lock"))); +int ldap_pvt_thread_mutex_recursive_trylock( ldap_pvt_thread_mutex_recursive_t *mutex ) + LDAP_GCCATTR((alias("ldap_pvt_thread_mutex_trylock"))); +int ldap_pvt_thread_mutex_recursive_unlock( ldap_pvt_thread_mutex_recursive_t *mutex ) + LDAP_GCCATTR((alias("ldap_pvt_thread_mutex_unlock"))); + ldap_pvt_thread_t ldap_pvt_thread_self( void ) {