typedef DWORD ldap_int_thread_key_t;
LDAP_F( int )
-ldap_pvt_thread_mutex_init_first LDAP_P(( ldap_pvt_thread_mutex_t *mutex ));
+ldap_int_mutex_firstcreate LDAP_P(( ldap_int_thread_mutex_t *mutex ));
#ifndef LDAP_INT_MUTEX_NULL
#define LDAP_INT_MUTEX_NULL ((HANDLE)0)
#define LDAP_INT_MUTEX_FIRSTCREATE(m) \
- ldap_pvt_thread_mutex_init_first(&(m))
+ ldap_int_mutex_firstcreate(&(m))
#endif
LDAP_END_DECL
return 0;
}
+int
+ldap_int_mutex_firstcreate( ldap_int_thread_mutex_t *mutex )
+{
+ if ( *mutex == NULL ) {
+ HANDLE p = CreateMutex( NULL, 0, NULL );
+ if ( InterlockedCompareExchangePointer((PVOID*)mutex, (PVOID)p, NULL) != NULL)
+ CloseHandle( p );
+ }
+ return 0;
+}
+
int
ldap_pvt_thread_create( ldap_pvt_thread_t * thread,
int detach,
return ( 0 );
}
-int
-ldap_pvt_thread_mutex_init_first( ldap_pvt_thread_mutex_t *mutex )
-{
- if ( *mutex == NULL ) {
- HANDLE p = CreateMutex( NULL, 0, NULL );
- if ( InterlockedCompareExchangePointer((PVOID*)mutex, (PVOID)p, NULL) != NULL)
- CloseHandle( p );
- }
- return ( 0 );
-}
-
int
ldap_pvt_thread_mutex_destroy( ldap_pvt_thread_mutex_t *mutex )
{