Пример #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;
}
Пример #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;
}
Пример #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 ) );
}
Пример #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;
}
Пример #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;
}
Пример #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;
}
Пример #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;
}
Пример #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;
}
Пример #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;
}
Пример #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
}
Пример #11
0
int 
ldap_pvt_thread_mutex_unlock( ldap_pvt_thread_mutex_t *mutex )
{
	return ERRVAL( pthread_mutex_unlock( mutex ) );
}
Пример #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 ) );
}
Пример #13
0
int 
ldap_pvt_thread_mutex_destroy( ldap_pvt_thread_mutex_t *mutex )
{
	return ERRVAL( pthread_mutex_destroy( mutex ) );
}
Пример #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 ) );
}
Пример #15
0
int
ldap_pvt_thread_cond_broadcast( ldap_pvt_thread_cond_t *cond )
{
	return ERRVAL( pthread_cond_broadcast( cond ) );
}
Пример #16
0
int 
ldap_pvt_thread_cond_signal( ldap_pvt_thread_cond_t *cond )
{
	return ERRVAL( pthread_cond_signal( cond ) );
}
Пример #17
0
int 
ldap_pvt_thread_rdwr_init( ldap_pvt_thread_rdwr_t *rw )
{
	return ERRVAL( pthread_rwlock_init( rw, NULL ) );
}
Пример #18
0
int ldap_pvt_thread_rdwr_wtrylock( ldap_pvt_thread_rdwr_t *rw )
{
	return ERRVAL( pthread_rwlock_trywrlock( rw ) );
}
Пример #19
0
int 
ldap_pvt_thread_rdwr_destroy( ldap_pvt_thread_rdwr_t *rw )
{
	return ERRVAL( pthread_rwlock_destroy( rw ) );
}
Пример #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 ) );
}
Пример #21
0
int ldap_pvt_thread_rdwr_wunlock( ldap_pvt_thread_rdwr_t *rw )
{
	return ERRVAL( pthread_rwlock_unlock( rw ) );
}
Пример #22
0
int 
ldap_pvt_thread_cond_destroy( ldap_pvt_thread_cond_t *cond )
{
	return ERRVAL( pthread_cond_destroy( cond ) );
}