mutex.lock ();
// cleanup if thread is in detached state and not joined
- if (pthread_equal (joiner, thread))
+ if (equal (joiner, thread))
delete this;
else
{
return 0;
}
- else if (pthread_equal (thread, self))
+ else if (equal (thread, self))
{
mutex.unlock ();
cancel_self ();
/*
* Check if the mutex is owned by the current thread and can be unlocked
*/
- return ((*mutex)->recursion_counter == 1 && pthread_equal ((*mutex)->owner, self));
+ return ((*mutex)->recursion_counter == 1 && pthread::equal ((*mutex)->owner, self));
}
List<pthread_mutex> pthread_mutex::mutexes;
if (InterlockedIncrement ((long *)&lock_counter) == 1)
set_owner (self);
- else if (type != PTHREAD_MUTEX_NORMAL && pthread_equal (owner, self))
+ else if (type != PTHREAD_MUTEX_NORMAL && pthread::equal (owner, self))
{
InterlockedDecrement ((long *) &lock_counter);
if (type == PTHREAD_MUTEX_RECURSIVE)
if (InterlockedCompareExchange ((long *)&lock_counter, 1, 0 ) == 0)
set_owner (self);
- else if (type == PTHREAD_MUTEX_RECURSIVE && pthread_equal (owner, self))
+ else if (type == PTHREAD_MUTEX_RECURSIVE && pthread::equal (owner, self))
result = lock_recursive ();
else
result = EBUSY;
int
pthread_mutex::_unlock (pthread_t self)
{
- if (!pthread_equal (owner, self))
+ if (!pthread::equal (owner, self))
return EPERM;
if (--recursion_counter == 0)
if (!is_good_object (thread))
return ESRCH;
- if (pthread_equal (*thread,joiner))
+ if (equal (*thread,joiner))
return EDEADLK;
(*thread)->mutex.lock ();
extern "C" int
pthread_equal (pthread_t t1, pthread_t t2)
{
- return t1 == t2;
+ return pthread::equal (t1, t2);
}
/* Mutexes */