New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 844078 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
please use my google.com address
Closed: Aug 14
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

ServiceProcessLauncher::Join shouldn't Wait()

Project Member Reported by sky@chromium.org, May 17 2018

Issue description

ServiceProcessLauncher is going to run on the io thread, where we don't want it to use Wait().
 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 14

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d98017a0c05e9fb9df611d585e85791e0ecac473

commit d98017a0c05e9fb9df611d585e85791e0ecac473
Author: Ken Rockot <rockot@chromium.org>
Date: Tue Aug 14 03:39:39 2018

[service-manager] Join processes in background

Changes ServiceProcessLauncher to join service processes from a
background task rather than from the launcher's owning sequence.

Updates RenderThreadImplBrowserTest so that it actually has a real IO
thread and therefore doesn't run all tasks (including "background"
tasks) on the same sequence on which Mojo does IPC.

This prevents service process joins from blocking internal IPC routing
and thus allows ServiceProcessLauncher to be used safely without
deadlocking on shutdown, particularly in aforementioned browser tests.

Bug:  844078 
Change-Id: Idf75dac40a9b16b49703483f0d010be3f3bc68aa
Reviewed-on: https://chromium-review.googlesource.com/1173428
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582818}
[modify] https://crrev.com/d98017a0c05e9fb9df611d585e85791e0ecac473/content/renderer/render_thread_impl_browsertest.cc
[modify] https://crrev.com/d98017a0c05e9fb9df611d585e85791e0ecac473/services/service_manager/runner/host/service_process_launcher.cc
[modify] https://crrev.com/d98017a0c05e9fb9df611d585e85791e0ecac473/services/service_manager/runner/host/service_process_launcher.h
[modify] https://crrev.com/d98017a0c05e9fb9df611d585e85791e0ecac473/services/service_manager/runner/host/service_process_launcher_unittest.cc

Cc: -roc...@chromium.org
Owner: roc...@chromium.org
Status: Fixed (was: Untriaged)

Sign in to add a comment