зеркало из https://github.com/mozilla/gecko-dev.git
Backed out changeset 948da26ff5a0 (bug 840673) for frequent Android ts timeouts on a CLOSED TREE.
This commit is contained in:
Родитель
b16b9555c1
Коммит
5832d83a4a
|
@ -11,7 +11,6 @@
|
|||
#include "nsComponentManagerUtils.h"
|
||||
#include "nsServiceManagerUtils.h"
|
||||
#include "nsThreadUtils.h"
|
||||
#include "mozilla/DebugOnly.h"
|
||||
#include "mozilla/Services.h"
|
||||
|
||||
#ifdef DEBUG
|
||||
|
@ -235,17 +234,6 @@ LazyIdleThread::ShutdownThread()
|
|||
|
||||
nsresult rv;
|
||||
|
||||
// Do this up front so that when we spin the event loop to shutdown the
|
||||
// thread the idle timer doesn't cause us to reenter.
|
||||
if (mIdleTimer) {
|
||||
DebugOnly<nsresult> rv =
|
||||
mIdleTimer->Cancel();
|
||||
// nsTimerImpl::Cancel is infallible.
|
||||
MOZ_ASSERT(NS_SUCCEEDED(rv));
|
||||
|
||||
mIdleTimer = nullptr;
|
||||
}
|
||||
|
||||
if (mThread) {
|
||||
if (mShutdownMethod == AutomaticShutdown && NS_IsMainThread()) {
|
||||
nsCOMPtr<nsIObserverService> obs =
|
||||
|
@ -272,7 +260,7 @@ LazyIdleThread::ShutdownThread()
|
|||
|
||||
nsCOMPtr<nsIRunnable> runnable =
|
||||
NS_NewRunnableMethod(this, &LazyIdleThread::CleanupThread);
|
||||
MOZ_ASSERT(runnable);
|
||||
NS_ENSURE_TRUE(runnable, NS_ERROR_FAILURE);
|
||||
|
||||
PreDispatch();
|
||||
|
||||
|
@ -301,6 +289,13 @@ LazyIdleThread::ShutdownThread()
|
|||
}
|
||||
}
|
||||
|
||||
if (mIdleTimer) {
|
||||
rv = mIdleTimer->Cancel();
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
mIdleTimer = nullptr;
|
||||
}
|
||||
|
||||
// If our temporary queue has any runnables then we need to dispatch them.
|
||||
if (queuedRunnables.Length()) {
|
||||
// If the thread manager has gone away then these runnables will never run.
|
||||
|
|
Загрузка…
Ссылка в новой задаче