X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Flibldap_r%2Fthr_thr.c;h=bb3b10d6b73b4df31a3de92f8dc1fde16ea29bca;hb=403f4479bc9f9a864122d4aeecf7284408918302;hp=e677466ab5b24f37dfe5ca973d8ec0d9f9cb3e2d;hpb=c149f48e5cd7cfaa37872fd273e1d8706999b1f0;p=openldap diff --git a/libraries/libldap_r/thr_thr.c b/libraries/libldap_r/thr_thr.c index e677466ab5..bb3b10d6b7 100644 --- a/libraries/libldap_r/thr_thr.c +++ b/libraries/libldap_r/thr_thr.c @@ -1,3 +1,4 @@ +/* $OpenLDAP$ */ /* * Copyright 1998,1999 The OpenLDAP Foundation, Redwood City, California, USA * All rights reserved. @@ -11,22 +12,53 @@ /* thr_thr.c - wrappers around solaris threads */ #include "portable.h" -#include "ldap_pvt_thread.h" #if defined( HAVE_THR ) +#include "ldap_pvt_thread.h" + /******************* * * * Solaris Threads * * * *******************/ +int +ldap_pvt_thread_initialize( void ) +{ +#ifdef LDAP_THREAD_CONCURRENCY + thr_setconcurrency( LDAP_THREAD_CONCURRENCY ); +#endif + return 0; +} + +int +ldap_pvt_thread_destroy( void ) +{ + return 0; +} + +int +ldap_pvt_thread_set_concurrency(int n) +{ + return thr_setconcurrency( n ); +} + +int +ldap_pvt_thread_get_concurrency(void) +{ + return thr_getconcurrency(); +} + int ldap_pvt_thread_create( ldap_pvt_thread_t * thread, - ldap_pvt_thread_attr_t *attr, - void *(*start_routine)( void *), void *arg) + int detach, + void *(*start_routine)( void *), + void *arg) { - return( thr_create( NULL, 0, start_routine, arg, *attr, thread ) ); + return( thr_create( NULL, 0, start_routine, arg, + detach ? THR_DETACHED : 0, + thread ) ); } void @@ -56,31 +88,9 @@ ldap_pvt_thread_yield( void ) } int -ldap_pvt_thread_attr_init( ldap_pvt_thread_attr_t *attr ) -{ - *attr = 0; - return( 0 ); -} - -int -ldap_pvt_thread_attr_destroy( ldap_pvt_thread_attr_t *attr ) -{ - *attr = 0; - return( 0 ); -} - -int -ldap_pvt_thread_attr_setdetachstate( ldap_pvt_thread_attr_t *attr, int dstate ) -{ - *attr = detachstate; - return( 0 ); -} - -int -ldap_pvt_thread_cond_init( ldap_pvt_thread_cond_t *cond, - ldap_pvt_thread_condattr_t *attr ) +ldap_pvt_thread_cond_init( ldap_pvt_thread_cond_t *cond ) { - return( cond_init( cond, attr ? *attr : USYNC_THREAD, NULL ) ); + return( cond_init( cond, USYNC_THREAD, NULL ) ); } int @@ -109,10 +119,9 @@ ldap_pvt_thread_cond_destroy( ldap_pvt_thread_cond_t *cv ) } int -ldap_pvt_thread_mutex_init( ldap_pvt_thread_mutex_t *mutex, - ldap_pvt_thread_mutexattr_t *attr ) +ldap_pvt_thread_mutex_init( ldap_pvt_thread_mutex_t *mutex ) { - return( mutex_init( mutex, attr ? *attr : USYNC_THREAD, NULL ) ); + return( mutex_init( mutex, USYNC_THREAD, NULL ) ); } int