Description[Mac] Remove base::LaunchSynchronize and rewrite content::MachBroker.
This restructures the way MachBroker parent-child communication happens. Now,
the MachBroker lock will be held for the duration of LaunchProcess until the
PID is returned and inserted into the MachMap. Since the lock must also be
acquired on the broker thread to insert the received task port into the
MachMap, this ensures that the placeholder is always inserted before the task
port.
MachBroker has also been rewritten to use Mach IPC directly, rather than the C++
wrappers in base/mach_ipc_mac.h. The wrappers are not flexible enough to allow
the use of an audit trailer. This trailer is used to verify the PID of the
sender of the check in message in the parent. Previously, this was done by
another kernel trap, pid_for_task.
BUG=179923
Originally Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=193486
Reverted: https://src.chromium.org/viewvc/chrome?view=rev&revision=193511
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=193638
Patch Set 1 #
Total comments: 21
Patch Set 2 : Address comments #
Total comments: 2
Patch Set 3 : '' #Patch Set 4 : Fix link_settings #
Messages
Total messages: 9 (0 generated)
|