Commit 635ed53d authored by Raymond Toy's avatar Raymond Toy Committed by Commit Bot

Disable outputs for tail processing more often

When requesting to delete handlers on the main thread, we exit early
if |rendering_orphan_handlers_| is empty. However,
|DeleteHandlersOnMainThread| will also process
|finished_tail_processing_handlers_|, so we're not processing them in
some cases.

Thus, do an early exit only if both |rendering_orphan_handlers_| and
|finished_tail_processing_handlers_| are empty.  Otherwise, there are
things that need to be deleted but aren't.

Change-Id: If4515a42253dc87aca25c009fccea69b243a06ed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1503998
Commit-Queue: Raymond Toy <rtoy@chromium.org>
Reviewed-by: default avatarHongchan Choi <hongchan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#637866}
parent 7687c011
...@@ -332,8 +332,16 @@ void DeferredTaskHandler::AddRenderingOrphanHandler( ...@@ -332,8 +332,16 @@ void DeferredTaskHandler::AddRenderingOrphanHandler(
void DeferredTaskHandler::RequestToDeleteHandlersOnMainThread() { void DeferredTaskHandler::RequestToDeleteHandlersOnMainThread() {
DCHECK(IsAudioThread()); DCHECK(IsAudioThread());
AssertGraphOwner(); AssertGraphOwner();
if (rendering_orphan_handlers_.IsEmpty())
// Quick exit if there are no handlers that need to be deleted so that we
// don't unecessarily post a task. Be onsistent with
// |DeleteHandlersOnMainThread()| so we don't accidentally return early when
// there are handlers that could be deleted.
if (rendering_orphan_handlers_.IsEmpty() &&
finished_tail_processing_handlers_.size()) {
return; return;
}
deletable_orphan_handlers_.AppendVector(rendering_orphan_handlers_); deletable_orphan_handlers_.AppendVector(rendering_orphan_handlers_);
rendering_orphan_handlers_.clear(); rendering_orphan_handlers_.clear();
PostCrossThreadTask( PostCrossThreadTask(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment