diff --git a/dom/media/mediasource/AutoTaskQueue.h b/dom/media/mediasource/AutoTaskQueue.h index c3aa08291a70..38432a01e4ce 100644 --- a/dom/media/mediasource/AutoTaskQueue.h +++ b/dom/media/mediasource/AutoTaskQueue.h @@ -36,11 +36,11 @@ public: return mTaskQueue->TailDispatcher(); } - void Dispatch(already_AddRefed aRunnable, - DispatchFailureHandling aFailureHandling = AssertDispatchSuccess, - DispatchReason aReason = NormalDispatch) override + nsresult Dispatch(already_AddRefed aRunnable, + DispatchFailureHandling aFailureHandling = AssertDispatchSuccess, + DispatchReason aReason = NormalDispatch) override { - mTaskQueue->Dispatch(Move(aRunnable), aFailureHandling, aReason); + return mTaskQueue->Dispatch(Move(aRunnable), aFailureHandling, aReason); } // Prevent a GCC warning about the other overload of Dispatch being hidden. diff --git a/xpcom/threads/AbstractThread.cpp b/xpcom/threads/AbstractThread.cpp index bcae3882fc0a..d8b65c8bbb77 100644 --- a/xpcom/threads/AbstractThread.cpp +++ b/xpcom/threads/AbstractThread.cpp @@ -46,20 +46,20 @@ public: MOZ_ASSERT_IF(aRequireTailDispatch, NS_IsMainThread() && aTarget->IsOnCurrentThread()); } - virtual void Dispatch(already_AddRefed aRunnable, - DispatchFailureHandling aFailureHandling = AssertDispatchSuccess, - DispatchReason aReason = NormalDispatch) override + virtual nsresult Dispatch(already_AddRefed aRunnable, + DispatchFailureHandling aFailureHandling = AssertDispatchSuccess, + DispatchReason aReason = NormalDispatch) override { AbstractThread* currentThread; if (aReason != TailDispatch && (currentThread = GetCurrent()) && RequiresTailDispatch(currentThread)) { currentThread->TailDispatcher().AddTask(this, Move(aRunnable), aFailureHandling); - return; + return NS_OK; } RefPtr runner(new Runner(this, Move(aRunnable), false /* already drained by TaskGroupRunnable */)); nsresult rv = mTarget->Dispatch(runner.forget(), NS_DISPATCH_NORMAL); MOZ_DIAGNOSTIC_ASSERT(aFailureHandling == DontAssertDispatchSuccess || NS_SUCCEEDED(rv)); - Unused << rv; + return rv; } // Prevent a GCC warning about the other overload of Dispatch being hidden. diff --git a/xpcom/threads/AbstractThread.h b/xpcom/threads/AbstractThread.h index cb4a1a37a985..60b329c490a9 100644 --- a/xpcom/threads/AbstractThread.h +++ b/xpcom/threads/AbstractThread.h @@ -69,9 +69,9 @@ public: enum DispatchFailureHandling { AssertDispatchSuccess, DontAssertDispatchSuccess }; enum DispatchReason { NormalDispatch, TailDispatch }; - virtual void Dispatch(already_AddRefed aRunnable, - DispatchFailureHandling aHandling = AssertDispatchSuccess, - DispatchReason aReason = NormalDispatch) = 0; + virtual nsresult Dispatch(already_AddRefed aRunnable, + DispatchFailureHandling aHandling = AssertDispatchSuccess, + DispatchReason aReason = NormalDispatch) = 0; virtual bool IsCurrentThreadIn() = 0; diff --git a/xpcom/threads/TaskQueue.h b/xpcom/threads/TaskQueue.h index b97586c8eccb..032a9b2d0a2a 100644 --- a/xpcom/threads/TaskQueue.h +++ b/xpcom/threads/TaskQueue.h @@ -61,9 +61,9 @@ public: TaskQueue* AsTaskQueue() override { return this; } - void Dispatch(already_AddRefed aRunnable, - DispatchFailureHandling aFailureHandling = AssertDispatchSuccess, - DispatchReason aReason = NormalDispatch) override + nsresult Dispatch(already_AddRefed aRunnable, + DispatchFailureHandling aFailureHandling = AssertDispatchSuccess, + DispatchReason aReason = NormalDispatch) override { nsCOMPtr r = aRunnable; { @@ -74,7 +74,7 @@ public: MOZ_CRASH_UNSAFE_PRINTF("%s: Dispatch failed. rv=%x", mName, uint32_t(rv)); } #endif - Unused << rv; + return rv; } // If the ownership of |r| is not transferred in DispatchLocked() due to // dispatch failure, it will be deleted here outside the lock. We do so