From 89d446ad7d066e69c929fc371d6fc8eb589aa70d Mon Sep 17 00:00:00 2001 From: Ehsan Akhgari Date: Wed, 15 Jul 2015 22:53:41 -0400 Subject: [PATCH] Bug 1184419 - Part 2: Get rid of HRTFDatabaseLoader::shutdownEnumFunc; r=padenot --- dom/media/webaudio/blink/HRTFDatabaseLoader.cpp | 12 +++--------- dom/media/webaudio/blink/HRTFDatabaseLoader.h | 3 --- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/dom/media/webaudio/blink/HRTFDatabaseLoader.cpp b/dom/media/webaudio/blink/HRTFDatabaseLoader.cpp index 6e47e1b1cf6d..2fb5cfb92f0d 100644 --- a/dom/media/webaudio/blink/HRTFDatabaseLoader.cpp +++ b/dom/media/webaudio/blink/HRTFDatabaseLoader.cpp @@ -205,14 +205,6 @@ void HRTFDatabaseLoader::waitForLoaderThreadCompletion() m_databaseLoaderThread = nullptr; } -PLDHashOperator -HRTFDatabaseLoader::shutdownEnumFunc(LoaderByRateEntry *entry, void* unused) -{ - // Ensure the loader thread's reference is removed for leak analysis. - entry->mLoader->waitForLoaderThreadCompletion(); - return PLDHashOperator::PL_DHASH_NEXT; -} - void HRTFDatabaseLoader::shutdown() { MOZ_ASSERT(NS_IsMainThread()); @@ -221,7 +213,9 @@ void HRTFDatabaseLoader::shutdown() // reference release during enumeration. nsTHashtable* loaderMap = s_loaderMap; s_loaderMap = nullptr; - loaderMap->EnumerateEntries(shutdownEnumFunc, nullptr); + for (auto iter = loaderMap->Iter(); !iter.Done(); iter.Next()) { + iter.Get()->mLoader->waitForLoaderThreadCompletion(); + } delete loaderMap; } } diff --git a/dom/media/webaudio/blink/HRTFDatabaseLoader.h b/dom/media/webaudio/blink/HRTFDatabaseLoader.h index 637cbb21965d..50a875b18333 100644 --- a/dom/media/webaudio/blink/HRTFDatabaseLoader.h +++ b/dom/media/webaudio/blink/HRTFDatabaseLoader.h @@ -129,9 +129,6 @@ private: HRTFDatabaseLoader* mLoader; }; - static PLDHashOperator shutdownEnumFunc(LoaderByRateEntry *entry, - void* unused); - // Keeps track of loaders on a per-sample-rate basis. static nsTHashtable *s_loaderMap; // singleton