{
ASSERT(isMainThread());
+ MutexLocker locker(m_lock);
waitForLoaderThreadCompletion();
m_hrtfDatabase.clear();
}
void HRTFDatabaseLoader::load()
{
ASSERT(!isMainThread());
+ MutexLocker locker(m_lock);
if (!m_hrtfDatabase) {
// Load the default HRTF database.
m_hrtfDatabase = HRTFDatabase::create(m_databaseSampleRate);
{
ASSERT(isMainThread());
- MutexLocker locker(m_threadLock);
-
+ MutexLocker locker(m_lock);
if (!m_hrtfDatabase && !m_databaseLoaderThread) {
// Start the asynchronous database loading process.
m_databaseLoaderThread = adoptPtr(Platform::current()->createThread("HRTF database loader"));
}
}
-bool HRTFDatabaseLoader::isLoaded() const
+bool HRTFDatabaseLoader::isLoaded()
{
+ MutexLocker locker(m_lock);
return m_hrtfDatabase;
}
void HRTFDatabaseLoader::waitForLoaderThreadCompletion()
{
- MutexLocker locker(m_threadLock);
m_databaseLoaderThread.clear();
}