]> git.sur5r.net Git - openldap/blobdiff - include/ldap_pvt_thread.h
Happy New Year
[openldap] / include / ldap_pvt_thread.h
index 472fb2601935be6eb2143356ac810d43c80cc488..23529a975871599250318eb782f6ea8bf47440b9 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  * 
- * 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,