Bug 1285231 - Use Swap to move&empty plugins list before unloading - r?jwwang draft
authorGerald Squelart <gsquelart@mozilla.com>
Thu, 07 Jul 2016 23:57:46 +1000
changeset 385021 2878592cfaf2fc20577494d8a1b162b6496f139c
parent 385002 4764b9f8e6d4ef9823237f01ca3901759ce8daeb
child 524819 f4f6a69ccd27b809de98aff3bc6a3e4941f10eaa
push id22394
push usergsquelart@mozilla.com
push dateThu, 07 Jul 2016 13:58:44 +0000
reviewersjwwang
bugs1285231
milestone50.0a1
Bug 1285231 - Use Swap to move&empty plugins list before unloading - r?jwwang MozReview-Commit-ID: LMkuOA0lBKD
dom/media/gmp/GMPServiceParent.cpp
--- a/dom/media/gmp/GMPServiceParent.cpp
+++ b/dom/media/gmp/GMPServiceParent.cpp
@@ -714,17 +714,17 @@ GeckoMediaPluginServiceParent::UnloadPlu
         NS_LITERAL_CSTRING("Starting to unload plugins"));
 #endif
 
   nsTArray<RefPtr<GMPParent>> plugins;
   {
     MutexAutoLock lock(mMutex);
     // Move all plugins references to a local array. This way mMutex won't be
     // locked when calling CloseActive (to avoid inter-locking).
-    plugins = Move(mPlugins);
+    Swap(plugins, mPlugins);
   }
 
   LOGD(("%s::%s plugins:%u including async:%u", __CLASS__, __FUNCTION__,
         plugins.Length(), mAsyncShutdownPlugins.Length()));
 #ifdef DEBUG
   for (const auto& plugin : plugins) {
     LOGD(("%s::%s plugin: '%s'", __CLASS__, __FUNCTION__,
           plugin->GetDisplayName().get()));