forked from OSchip/llvm-project
Update the non-pthreads fallback for RWMutex on Unix
Tested this by #if 0'ing out the pthreads implementation, which indicated that this fallback was not currently compiling successfully and applying this patch resolves that. Patch by Andy Chien. llvm-svn: 220969
This commit is contained in:
parent
67926f10e8
commit
626507fab3
|
@ -26,26 +26,26 @@ using namespace sys;
|
||||||
// will therefore deadlock if a thread tries to acquire a read lock
|
// will therefore deadlock if a thread tries to acquire a read lock
|
||||||
// multiple times.
|
// multiple times.
|
||||||
|
|
||||||
RWMutexImpl::RWMutexImpl() : data_(new Mutex(false)) { }
|
RWMutexImpl::RWMutexImpl() : data_(new MutexImpl(false)) { }
|
||||||
|
|
||||||
RWMutexImpl::~RWMutexImpl() {
|
RWMutexImpl::~RWMutexImpl() {
|
||||||
delete static_cast<Mutex *>(data_);
|
delete static_cast<MutexImpl *>(data_);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RWMutexImpl::reader_acquire() {
|
bool RWMutexImpl::reader_acquire() {
|
||||||
return static_cast<Mutex *>(data_)->acquire();
|
return static_cast<MutexImpl *>(data_)->acquire();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RWMutexImpl::reader_release() {
|
bool RWMutexImpl::reader_release() {
|
||||||
return static_cast<Mutex *>(data_)->release();
|
return static_cast<MutexImpl *>(data_)->release();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RWMutexImpl::writer_acquire() {
|
bool RWMutexImpl::writer_acquire() {
|
||||||
return static_cast<Mutex *>(data_)->acquire();
|
return static_cast<MutexImpl *>(data_)->acquire();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RWMutexImpl::writer_release() {
|
bool RWMutexImpl::writer_release() {
|
||||||
return static_cast<Mutex *>(data_)->release();
|
return static_cast<MutexImpl *>(data_)->release();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue