Diff for /include/ldap_pvt_thread.h between versions 1.3 and 1.4

version 1.3, 1999/01/27 20:11:55 version 1.4, 1999/01/28 03:34:56
Line 29 Line 29
 LDAP_BEGIN_DECL  LDAP_BEGIN_DECL
   
 typedef pthread_t               ldap_pvt_thread_t;  typedef pthread_t               ldap_pvt_thread_t;
 typedef pthread_attr_t          ldap_pvt_thread_attr_t;  
 typedef pthread_mutex_t         ldap_pvt_thread_mutex_t;  typedef pthread_mutex_t         ldap_pvt_thread_mutex_t;
 typedef pthread_mutexattr_t     ldap_pvt_thread_mutexattr_t;  
 typedef pthread_cond_t          ldap_pvt_thread_cond_t;  typedef pthread_cond_t          ldap_pvt_thread_cond_t;
 typedef pthread_condattr_t      ldap_pvt_thread_condattr_t;  
   
 #define LDAP_PVT_THREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED   
 #define LDAP_PVT_THREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE   
   
 #if defined( _POSIX_REENTRANT_FUNCTIONS ) || \  #if defined( _POSIX_REENTRANT_FUNCTIONS ) || \
         defined( _POSIX_THREAD_SAFE_FUNCTIONS ) || \          defined( _POSIX_THREAD_SAFE_FUNCTIONS ) || \
Line 44  typedef pthread_condattr_t ldap_pvt_thre Line 38  typedef pthread_condattr_t ldap_pvt_thre
 #define HAVE_REENTRANT_FUNCTIONS 1  #define HAVE_REENTRANT_FUNCTIONS 1
 #endif  #endif
   
   #if defined( HAVE_PTHREAD_GETCONCURRENCY ) || \
           defined( HAVE_THR_GETCONCURRENCY )
   #define HAVE_GETCONCURRENCY 1
   #endif
   
   #if defined( HAVE_PTHREAD_SETCONCURRENCY ) || \
           defined( HAVE_THR_SETCONCURRENCY )
   #define HAVE_SETCONCURRENCY 1
   #endif
   
 LDAP_END_DECL  LDAP_END_DECL
   
 #elif defined ( HAVE_MACH_CTHREADS )  #elif defined ( HAVE_MACH_CTHREADS )
Line 58  LDAP_END_DECL Line 62  LDAP_END_DECL
 LDAP_BEGIN_DECL  LDAP_BEGIN_DECL
   
 typedef cthread_t               ldap_pvt_thread_t;  typedef cthread_t               ldap_pvt_thread_t;
 typedef int                     ldap_pvt_thread_attr_t;  
 typedef struct mutex            ldap_pvt_thread_mutex_t;  typedef struct mutex            ldap_pvt_thread_mutex_t;
 typedef int                     ldap_pvt_thread_mutexattr_t;  
 typedef struct condition        ldap_pvt_thread_cond_t;  typedef struct condition        ldap_pvt_thread_cond_t;
 typedef int                     ldap_pvt_thread_condattr_t;  
   
 #define LDAP_PVT_THREAD_CREATE_DETACHED 1  
 #define LDAP_PVT_THREAD_CREATE_JOINABLE 0  
   
 LDAP_END_DECL  LDAP_END_DECL
   
 #elif defined( HAVE_THR )  #elif defined( HAVE_THR )
 /**************************************  /********************************************
  *                                    *   *                                          *
  * thread definitions for Solaris LWP *   * thread definitions for Solaris LWP (THR) *
  *                                    *   *                                          *
  **************************************/   ********************************************/
   
 #include <thread.h>  #include <thread.h>
 #include <synch.h>  #include <synch.h>
Line 82  LDAP_END_DECL Line 80  LDAP_END_DECL
 LDAP_BEGIN_DECL  LDAP_BEGIN_DECL
   
 typedef thread_t                ldap_pvt_thread_t;  typedef thread_t                ldap_pvt_thread_t;
 typedef int                     ldap_pvt_thread_attr_t;  
 typedef mutex_t                 ldap_pvt_thread_mutex_t;  typedef mutex_t                 ldap_pvt_thread_mutex_t;
 typedef int                     ldap_pvt_thread_mutexattr_t;  
 typedef cond_t                  ldap_pvt_thread_cond_t;  typedef cond_t                  ldap_pvt_thread_cond_t;
 typedef int                     ldap_pvt_thread_condattr_t;  
   
 #define LDAP_PVT_THREAD_CREATE_DETACHED THR_DETACHED  
 #define LDAP_PVT_THREAD_CREATE_JOINABLE 0  
   
 #define HAVE_REENTRANT_FUNCTIONS 1  #define HAVE_REENTRANT_FUNCTIONS 1
   
   #ifdef HAVE_THR_GETCONCURRENCY
   #define HAVE_GETCONCURRENCY 1
   #endif
   #ifdef HAVE_THR_SETCONCURRENCY
   #define HAVE_SETCONCURRENCY 1
   #endif
   
 LDAP_END_DECL  LDAP_END_DECL
   
 #elif defined( HAVE_LWP )  #elif defined( HAVE_LWP )
Line 108  LDAP_END_DECL Line 107  LDAP_END_DECL
 LDAP_BEGIN_DECL  LDAP_BEGIN_DECL
   
 typedef thread_t                ldap_pvt_thread_t;  typedef thread_t                ldap_pvt_thread_t;
 typedef int                     ldap_pvt_thread_attr_t;  
 typedef mon_t                   ldap_pvt_thread_mutex_t;  typedef mon_t                   ldap_pvt_thread_mutex_t;
 typedef int                     ldap_pvt_thread_mutexattr_t;  
 struct lwpcv {  struct lwpcv {
         int             lcv_created;          int             lcv_created;
         cv_t            lcv_cv;          cv_t            lcv_cv;
 };  };
 typedef struct lwpcv            ldap_pvt_thread_cond_t;  typedef struct lwpcv            ldap_pvt_thread_cond_t;
 typedef int                     ldap_pvt_thread_condattr_t;  
   
 #define LDAP_PVT_THREAD_CREATE_DETACHED 1  
 #define LDAP_PVT_THREAD_CREATE_JOINABLE 0  
   
 #define HAVE_REENTRANT_FUNCTIONS 1  #define HAVE_REENTRANT_FUNCTIONS 1
   
 stkalign_t *ldap_pvt_thread_get_stack( int *stacknop );  
 void ldap_pvt_thread_free_stack( int *stackno );  
   
 LDAP_END_DECL  LDAP_END_DECL
   
 #elif HAVE_NT_THREADS  #elif HAVE_NT_THREADS
Line 136  LDAP_END_DECL Line 126  LDAP_END_DECL
 LDAP_BEGIN_DECL  LDAP_BEGIN_DECL
   
 typedef HANDLE                  ldap_pvt_thread_t;  typedef HANDLE                  ldap_pvt_thread_t;
 typedef int                     ldap_pvt_thread_attr_t;  
 typedef HANDLE                  ldap_pvt_thread_mutex_t;  typedef HANDLE                  ldap_pvt_thread_mutex_t;
 typedef int                     ldap_pvt_thread_mutexattr_t;  
 typedef HANDLE                  ldap_pvt_thread_cond_t;  typedef HANDLE                  ldap_pvt_thread_cond_t;
 typedef int                     ldap_pvt_thread_condattr_t;  
   
 #define LDAP_PVT_THREAD_CREATE_DETACHED 0  
 #define LDAP_PVT_THREAD_CREATE_JOINABLE 0  
   
 LDAP_END_DECL  LDAP_END_DECL
   
Line 163  LDAP_BEGIN_DECL Line 147  LDAP_BEGIN_DECL
 #endif  #endif
   
 typedef int                     ldap_pvt_thread_t;  typedef int                     ldap_pvt_thread_t;
 typedef int                     ldap_pvt_thread_attr_t;  
 typedef int                     ldap_pvt_thread_mutex_t;  typedef int                     ldap_pvt_thread_mutex_t;
 typedef int                     ldap_pvt_thread_mutexattr_t;  
 typedef int                     ldap_pvt_thread_cond_t;  typedef int                     ldap_pvt_thread_cond_t;
 typedef int                     ldap_pvt_thread_condattr_t;  
   
 #define LDAP_PVT_THREAD_CREATE_DETACHED 0  
 #define LDAP_PVT_THREAD_CREATE_JOINABLE 0  
   
 LDAP_END_DECL  LDAP_END_DECL
   
Line 178  LDAP_END_DECL Line 156  LDAP_END_DECL
   
 #ifndef NO_THREADS  #ifndef NO_THREADS
 #       define HAVE_THREADS 1  #       define HAVE_THREADS 1
   
 #endif  #endif
   
 LDAP_BEGIN_DECL  LDAP_BEGIN_DECL
   
   LDAP_F int
   ldap_pvt_thread_initialize LDAP_P(( void ));
   
   LDAP_F unsigned int
   ldap_pvt_thread_sleep LDAP_P(( unsigned int s ));
   
   #ifdef HAVE_GETCONCURRENCY
   LDAP_F int
   ldap_pvt_thread_getconcurrency LDAP_P(( void ));
   #endif
   #ifdef HAVE_SETCONCURRENCY
   #       ifndef LDAP_THREAD_CONCURRENCY
           /* three concurrent threads should be enough */
   #       define LDAP_THREAD_CONCURRENCY  3
   #       endif
   LDAP_F int
   ldap_pvt_thread_setconcurrency LDAP_P(( int ));
   #endif
   
 LDAP_F int   LDAP_F int 
 ldap_pvt_thread_create LDAP_P(( ldap_pvt_thread_t * thread,   ldap_pvt_thread_create LDAP_P((
                                ldap_pvt_thread_attr_t *attr,          ldap_pvt_thread_t * thread, 
                                void *(*start_routine)( void *),           int     detach,
                                void *arg));          void *(*start_routine)( void * ), 
           void *arg));
   
 LDAP_F void   LDAP_F void 
 ldap_pvt_thread_exit LDAP_P(( void *retval ));  ldap_pvt_thread_exit LDAP_P(( void *retval ));
   
 LDAP_F int   LDAP_F int 
 ldap_pvt_thread_join LDAP_P(( ldap_pvt_thread_t thread,   ldap_pvt_thread_join LDAP_P(( ldap_pvt_thread_t thread, void **status ));
                              void **thread_return ));  
   
 LDAP_F int   LDAP_F int 
 ldap_pvt_thread_kill LDAP_P(( ldap_pvt_thread_t thread, int signo ));  ldap_pvt_thread_kill LDAP_P(( ldap_pvt_thread_t thread, int signo ));
Line 202  LDAP_F int Line 200  LDAP_F int
 ldap_pvt_thread_yield LDAP_P(( void ));  ldap_pvt_thread_yield LDAP_P(( void ));
   
 LDAP_F int   LDAP_F int 
 ldap_pvt_thread_attr_init LDAP_P(( ldap_pvt_thread_attr_t *attr ));  ldap_pvt_thread_cond_init LDAP_P(( ldap_pvt_thread_cond_t *cond ));
   
 LDAP_F int   
 ldap_pvt_thread_attr_destroy LDAP_P(( ldap_pvt_thread_attr_t *attr ));  
   
 LDAP_F int   
 ldap_pvt_thread_attr_setdetachstate LDAP_P(( ldap_pvt_thread_attr_t *attr,   
                                             int dstate ));  
   
 LDAP_F int   
 ldap_pvt_thread_cond_init LDAP_P(( ldap_pvt_thread_cond_t *cond,  
                                   ldap_pvt_thread_condattr_t *attr ));  
   
 LDAP_F int   LDAP_F int 
 ldap_pvt_thread_cond_signal LDAP_P(( ldap_pvt_thread_cond_t *cond ));  ldap_pvt_thread_cond_signal LDAP_P(( ldap_pvt_thread_cond_t *cond ));
Line 222  LDAP_F int Line 209  LDAP_F int
 ldap_pvt_thread_cond_broadcast LDAP_P(( ldap_pvt_thread_cond_t *cond ));  ldap_pvt_thread_cond_broadcast LDAP_P(( ldap_pvt_thread_cond_t *cond ));
   
 LDAP_F int   LDAP_F int 
 ldap_pvt_thread_cond_wait LDAP_P(( ldap_pvt_thread_cond_t *cond,   ldap_pvt_thread_cond_wait LDAP_P((
                                   ldap_pvt_thread_mutex_t *mutex ));          ldap_pvt_thread_cond_t *cond, 
           ldap_pvt_thread_mutex_t *mutex ));
   
 LDAP_F int   LDAP_F int 
 ldap_pvt_thread_mutex_init LDAP_P(( ldap_pvt_thread_mutex_t *mutex,  ldap_pvt_thread_mutex_init LDAP_P(( ldap_pvt_thread_mutex_t *mutex ));
                                    ldap_pvt_thread_mutexattr_t *attr ));  
   
 LDAP_F int   LDAP_F int 
 ldap_pvt_thread_mutex_destroy LDAP_P(( ldap_pvt_thread_mutex_t *mutex ));  ldap_pvt_thread_mutex_destroy LDAP_P(( ldap_pvt_thread_mutex_t *mutex ));
Line 236  LDAP_F int Line 223  LDAP_F int
 ldap_pvt_thread_mutex_lock LDAP_P(( ldap_pvt_thread_mutex_t *mutex ));  ldap_pvt_thread_mutex_lock LDAP_P(( ldap_pvt_thread_mutex_t *mutex ));
   
 LDAP_F int   LDAP_F int 
   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_pvt_thread_mutex_unlock LDAP_P(( ldap_pvt_thread_mutex_t *mutex ));
   
 typedef struct ldap_pvt_thread_rdwr_var {  typedef struct ldap_pvt_thread_rdwr_var {
         int readers_reading;          int lt_readers_reading;
         int writer_writing;          int lt_writer_writing;
         ldap_pvt_thread_mutex_t mutex;          ldap_pvt_thread_mutex_t lt_mutex;
         ldap_pvt_thread_cond_t lock_free;          ldap_pvt_thread_cond_t lt_lock_free;
 } ldap_pvt_thread_rdwr_t;  } ldap_pvt_thread_rdwr_t;
   
 typedef void * ldap_pvt_thread_rdwrattr_t;  #define LDAP_PVT_THREAD_CREATE_DETACHED 1
   #define LDAP_PVT_THREAD_CREATE_JOINABLE 0
   
 LDAP_F int   LDAP_F int 
 ldap_pvt_thread_rdwr_init LDAP_P((ldap_pvt_thread_rdwr_t *rdwrp,   ldap_pvt_thread_rdwr_init LDAP_P((ldap_pvt_thread_rdwr_t *rdwrp));
                                   ldap_pvt_thread_rdwrattr_t *attrp));  
 LDAP_F int   LDAP_F int 
 ldap_pvt_thread_rdwr_rlock LDAP_P((ldap_pvt_thread_rdwr_t *rdwrp));  ldap_pvt_thread_rdwr_rlock LDAP_P((ldap_pvt_thread_rdwr_t *rdwrp));
 LDAP_F int   LDAP_F int 

Removed from v.1.3  
changed lines
  Added in v.1.4


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org