Beispiel #1
0
int ldap_pvt_thread_rdwr_wunlock( ldap_pvt_thread_rdwr_t *rw )
{
	int rc;
	LDAP_JITTER(25);
	rc = ERRVAL( pthread_rwlock_unlock( rw ) );
	LDAP_ENSURE(rc == 0);
	LDAP_JITTER(25);
	return rc;
}
Beispiel #2
0
int ldap_pvt_thread_rdwr_wtrylock( ldap_pvt_thread_rdwr_t *rw )
{
	int rc;
	LDAP_JITTER(25);
	rc = ERRVAL( pthread_rwlock_trywrlock( rw ) );
	LDAP_ENSURE(rc == 0 || rc == EBUSY);
	LDAP_JITTER(25);
	return rc;
}
Beispiel #3
0
int 
ldap_pvt_thread_join( ldap_pvt_thread_t thread, void **thread_return )
{
#if HAVE_PTHREADS < 7
	void *dummy;
	if (thread_return==NULL)
	  thread_return=&dummy;
#endif
	return ERRVAL( pthread_join( thread, thread_return ) );
}
Beispiel #4
0
int
ldap_pvt_thread_rdwr_init( ldap_pvt_thread_rdwr_t *rw )
{
	int rc;
	LDAP_JITTER(25);
	rc = ERRVAL( pthread_rwlock_init( rw, NULL ) );
	LDAP_ENSURE(rc == 0);
	LDAP_JITTER(25);
	return rc;
}
Beispiel #5
0
int
ldap_pvt_thread_mutex_unlock( ldap_pvt_thread_mutex_t *mutex )
{
	int rc;
	LDAP_JITTER(25);
	rc = ERRVAL( pthread_mutex_unlock( mutex ) );
	LDAP_ENSURE(rc == 0);
	LDAP_JITTER(25);
	return rc;
}
Beispiel #6
0
int
ldap_pvt_thread_mutex_init( ldap_pvt_thread_mutex_t *mutex )
{
	int rc;
	LDAP_JITTER(25);
	rc = ERRVAL( pthread_mutex_init( mutex, ldap_mutex_attr() ) );
	LDAP_ENSURE(rc == 0);
	LDAP_JITTER(25);
	return rc;
}
Beispiel #7
0
int
ldap_pvt_thread_cond_broadcast( ldap_pvt_thread_cond_t *cond )
{
	int rc;
	LDAP_JITTER(25);
	rc = ERRVAL( pthread_cond_broadcast( cond ) );
	LDAP_ENSURE(rc == 0);
	LDAP_JITTER(25);
	return rc;
}
Beispiel #8
0
int
ldap_pvt_thread_cond_init( ldap_pvt_thread_cond_t *cond )
{
	int rc;
	LDAP_JITTER(25);
	rc = ERRVAL( pthread_cond_init( cond, LDAP_INT_THREAD_CONDATTR_DEFAULT ) );
	LDAP_ENSURE(rc == 0);
	LDAP_JITTER(25);
	return rc;
}
Beispiel #9
0
int
ldap_pvt_thread_cond_wait( ldap_pvt_thread_cond_t *cond,
		      ldap_pvt_thread_mutex_t *mutex )
{
	int rc;
	LDAP_JITTER(25);
	rc = ERRVAL( pthread_cond_wait( cond, mutex ) );
	LDAP_ENSURE(rc == 0);
	LDAP_JITTER(25);
	return rc;
}
Beispiel #10
0
int 
ldap_pvt_thread_kill( ldap_pvt_thread_t thread, int signo )
{
#if defined(HAVE_PTHREAD_KILL) && HAVE_PTHREADS > 4
	/* MacOS 10.1 is detected as v10 but has no pthread_kill() */
	return ERRVAL( pthread_kill( thread, signo ) );
#else
	/* pthread package with DCE */
	if (kill( getpid(), signo )<0)
		return errno;
	return 0;
#endif
}
Beispiel #11
0
int 
ldap_pvt_thread_mutex_unlock( ldap_pvt_thread_mutex_t *mutex )
{
	return ERRVAL( pthread_mutex_unlock( mutex ) );
}
Beispiel #12
0
int 
ldap_pvt_thread_mutex_init( ldap_pvt_thread_mutex_t *mutex )
{
	return ERRVAL( pthread_mutex_init(
		mutex, LDAP_INT_THREAD_MUTEXATTR_DEFAULT ) );
}
Beispiel #13
0
int 
ldap_pvt_thread_mutex_destroy( ldap_pvt_thread_mutex_t *mutex )
{
	return ERRVAL( pthread_mutex_destroy( mutex ) );
}
Beispiel #14
0
int 
ldap_pvt_thread_cond_wait( ldap_pvt_thread_cond_t *cond, 
		      ldap_pvt_thread_mutex_t *mutex )
{
	return ERRVAL( pthread_cond_wait( cond, mutex ) );
}
Beispiel #15
0
int
ldap_pvt_thread_cond_broadcast( ldap_pvt_thread_cond_t *cond )
{
	return ERRVAL( pthread_cond_broadcast( cond ) );
}
Beispiel #16
0
int 
ldap_pvt_thread_cond_signal( ldap_pvt_thread_cond_t *cond )
{
	return ERRVAL( pthread_cond_signal( cond ) );
}
Beispiel #17
0
int 
ldap_pvt_thread_rdwr_init( ldap_pvt_thread_rdwr_t *rw )
{
	return ERRVAL( pthread_rwlock_init( rw, NULL ) );
}
Beispiel #18
0
int ldap_pvt_thread_rdwr_wtrylock( ldap_pvt_thread_rdwr_t *rw )
{
	return ERRVAL( pthread_rwlock_trywrlock( rw ) );
}
Beispiel #19
0
int 
ldap_pvt_thread_rdwr_destroy( ldap_pvt_thread_rdwr_t *rw )
{
	return ERRVAL( pthread_rwlock_destroy( rw ) );
}
Beispiel #20
0
int 
ldap_pvt_thread_cond_init( ldap_pvt_thread_cond_t *cond )
{
	return ERRVAL( pthread_cond_init(
		cond, LDAP_INT_THREAD_CONDATTR_DEFAULT ) );
}
Beispiel #21
0
int ldap_pvt_thread_rdwr_wunlock( ldap_pvt_thread_rdwr_t *rw )
{
	return ERRVAL( pthread_rwlock_unlock( rw ) );
}
Beispiel #22
0
int 
ldap_pvt_thread_cond_destroy( ldap_pvt_thread_cond_t *cond )
{
	return ERRVAL( pthread_cond_destroy( cond ) );
}