Refactor the bootstrap sandbox process launching integration.
There are three changes:
- A LaunchOptions::PreExecDelegate is now used to perform the bootstrap port
replacement in the new child. This removes sandbox-specific knowledge from
//base.
- The replacement bootstrap port is no longer registered with launchd.
Instead, a new sandbox manager port is registered. Clients communicate with
this server to get the replacement bootstrap port.
- Using the above port, clients now perform a post-fork-pre-exec handshake
to check in with the sandbox server. This removes the complicated
PrepareToFork/FinishedFork interface.
BUG=367863,388214
R=mark@chromium.org
Review URL: https://codereview.chromium.org/1346923006
Cr-Commit-Position: refs/heads/master@{#349571}
CrOS-Libchrome-Original-Commit: 408d2ee53267204220f2062a97bd7fe7b9a69354
2 files changed