X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fldap_pvt_thread.h;h=23529a975871599250318eb782f6ea8bf47440b9;hb=59e9ff6243465640956b58ad1756a3ede53eca7c;hp=472fb2601935be6eb2143356ac810d43c80cc488;hpb=d490fd9f794be8866605998e7eff5add81f13ac9;p=openldap diff --git a/include/ldap_pvt_thread.h b/include/ldap_pvt_thread.h index 472fb26019..23529a9758 100644 --- a/include/ldap_pvt_thread.h +++ b/include/ldap_pvt_thread.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2015 The OpenLDAP Foundation. + * Copyright 1998-2018 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -37,6 +37,7 @@ typedef ldap_int_thread_rdwr_t ldap_pvt_thread_rdwr_t; #define LDAP_PVT_MUTEX_FIRSTCREATE LDAP_INT_MUTEX_FIRSTCREATE #define LDAP_PVT_MUTEX_NULL LDAP_INT_MUTEX_NULL #endif +typedef ldap_int_thread_mutex_recursive_t ldap_pvt_thread_mutex_recursive_t; typedef ldap_int_thread_rmutex_t ldap_pvt_thread_rmutex_t; typedef ldap_int_thread_key_t ldap_pvt_thread_key_t; #endif /* !LDAP_PVT_THREAD_H_DONE */ @@ -111,9 +112,15 @@ ldap_pvt_thread_cond_wait LDAP_P(( LDAP_F( int ) ldap_pvt_thread_mutex_init LDAP_P(( ldap_pvt_thread_mutex_t *mutex )); +LDAP_F( int ) +ldap_pvt_thread_mutex_recursive_init LDAP_P(( ldap_pvt_thread_mutex_t *mutex )); + LDAP_F( int ) ldap_pvt_thread_mutex_destroy LDAP_P(( ldap_pvt_thread_mutex_t *mutex )); +LDAP_F( int ) +ldap_pvt_thread_mutex_recursive_destroy LDAP_P(( ldap_pvt_thread_mutex_recursive_t *mutex )); + LDAP_F( int ) ldap_pvt_thread_mutex_lock LDAP_P(( ldap_pvt_thread_mutex_t *mutex )); @@ -123,6 +130,15 @@ ldap_pvt_thread_mutex_trylock LDAP_P(( ldap_pvt_thread_mutex_t *mutex )); LDAP_F( int ) ldap_pvt_thread_mutex_unlock LDAP_P(( ldap_pvt_thread_mutex_t *mutex )); +LDAP_F( int ) +ldap_pvt_thread_mutex_recursive_lock LDAP_P(( ldap_pvt_thread_mutex_recursive_t *mutex )); + +LDAP_F( int ) +ldap_pvt_thread_mutex_recursive_trylock LDAP_P(( ldap_pvt_thread_mutex_recursive_t *mutex )); + +LDAP_F( int ) +ldap_pvt_thread_mutex_recursive_unlock LDAP_P(( ldap_pvt_thread_mutex_recursive_t *mutex )); + LDAP_F( int ) ldap_pvt_thread_rmutex_init LDAP_P(( ldap_pvt_thread_rmutex_t *rmutex )); @@ -227,16 +243,26 @@ ldap_pvt_thread_pool_submit LDAP_P(( void *arg )); LDAP_F( int ) -ldap_pvt_thread_pool_retract LDAP_P(( +ldap_pvt_thread_pool_submit2 LDAP_P(( ldap_pvt_thread_pool_t *pool, ldap_pvt_thread_start_t *start, - void *arg )); + void *arg, + void **cookie )); + +LDAP_F( int ) +ldap_pvt_thread_pool_retract LDAP_P(( + void *cookie )); LDAP_F( int ) ldap_pvt_thread_pool_maxthreads LDAP_P(( ldap_pvt_thread_pool_t *pool, int max_threads )); +LDAP_F( int ) +ldap_pvt_thread_pool_queues LDAP_P(( + ldap_pvt_thread_pool_t *pool, + int numqs )); + #ifndef LDAP_PVT_THREAD_H_DONE typedef enum { LDAP_PVT_THREAD_POOL_PARAM_UNKNOWN = -1,