Index: base/process/launch.h |
diff --git a/base/process/launch.h b/base/process/launch.h |
index 2ee173e54fbccd009a2a7fc12bb271210b7e73f9..261019b138f5fe5da7f4e9fd0a451c8a1e06e0bb 100644 |
--- a/base/process/launch.h |
+++ b/base/process/launch.h |
@@ -128,6 +128,15 @@ struct BASE_EXPORT LaunchOptions { |
int ctrl_terminal_fd; |
#endif // defined(OS_CHROMEOS) |
+#if defined(OS_MACOSX) |
+ // If this name is non-empty, the new child, after fork() but before exec(), |
+ // will look up this server name in the bootstrap namespace. The resulting |
+ // service port will be replaced as the bootstrap port in the child. Because |
+ // the process's IPC space is cleared on exec(), any rights to the old |
+ // bootstrap port will not be transferred to the new process. |
+ std::string replacement_bootstrap_name; |
+#endif |
+ |
#endif // !defined(OS_WIN) |
}; |
@@ -250,6 +259,11 @@ BASE_EXPORT void RaiseProcessToHighPriority(); |
// in the child after forking will restore the standard exception handler. |
// See http://crbug.com/20371/ for more details. |
void RestoreDefaultExceptionHandler(); |
+ |
+// Look up the bootstrap server named |replacement_bootstrap_name| via the |
+// current |bootstrap_port|. Then replace the task's bootstrap port with the |
+// received right. |
+void ReplaceBootstrapPort(const std::string& replacement_bootstrap_name); |
#endif // defined(OS_MACOSX) |
// Creates a LaunchOptions object suitable for launching processes in a test |