Don't expose the pthread_mutex_t underlying the Mutex & Mutex::Locker classes.
No one was using it and Locker(pthread_mutex_t *) immediately asserts for pthread_mutex_t's that don't come from a Mutex anyway. Rather than try to make that work, we should maintain the Mutex abstraction and not pass around the platform implementation... Make Mutex::Locker::Lock take a Mutex & or a Mutex *, and remove the constructor taking a pthread_mutex_t *. You no longer need to call Mutex::GetMutex to pass your mutex to a Locker (you can't in fact, since I made it private.) llvm-svn: 156221
This commit is contained in:
@@ -118,12 +118,12 @@ ModuleList::RemoveOrphans (bool mandatory)
|
||||
|
||||
if (mandatory)
|
||||
{
|
||||
locker.Lock (m_modules_mutex.GetMutex());
|
||||
locker.Lock (m_modules_mutex);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Not mandatory, remove orphans if we can get the mutex
|
||||
if (!locker.TryLock(m_modules_mutex.GetMutex()))
|
||||
if (!locker.TryLock(m_modules_mutex))
|
||||
return 0;
|
||||
}
|
||||
collection::iterator pos = m_modules.begin();
|
||||
|
||||
Reference in New Issue
Block a user