Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1686)

Unified Diff: base/process_util_mac.mm

Issue 165067: Remove the Mac-specific implementation of LaunchApp, and share the Linux version. (Closed)
Patch Set: Removing stray files from patch Created 11 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/process_util_linux.cc ('k') | base/process_util_posix.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/process_util_mac.mm
diff --git a/base/process_util_mac.mm b/base/process_util_mac.mm
index 9653ada2913c2cdcb0e43b81bc52b9f40a9acbed..de9b3f130841f6bfb73979df38a7b5acc6e61407 100644
--- a/base/process_util_mac.mm
+++ b/base/process_util_mac.mm
@@ -21,78 +21,6 @@
namespace base {
-bool LaunchApp(const std::vector<std::string>& argv,
- const file_handle_mapping_vector& fds_to_remap,
- bool wait, ProcessHandle* process_handle) {
- bool retval = true;
-
- char* argv_copy[argv.size() + 1];
- for (size_t i = 0; i < argv.size(); i++) {
- argv_copy[i] = const_cast<char*>(argv[i].c_str());
- }
- argv_copy[argv.size()] = NULL;
-
- // Make sure we don't leak any FDs to the child process by marking all FDs
- // as close-on-exec.
- SetAllFDsToCloseOnExec();
-
- posix_spawn_file_actions_t file_actions;
- if (posix_spawn_file_actions_init(&file_actions) != 0) {
- return false;
- }
-
- // Turn fds_to_remap array into a set of dup2 calls.
- for (file_handle_mapping_vector::const_iterator it = fds_to_remap.begin();
- it != fds_to_remap.end();
- ++it) {
- int src_fd = it->first;
- int dest_fd = it->second;
-
- if (src_fd == dest_fd) {
- int flags = fcntl(src_fd, F_GETFD);
- if (flags != -1) {
- fcntl(src_fd, F_SETFD, flags & ~FD_CLOEXEC);
- }
- } else {
- if (posix_spawn_file_actions_adddup2(&file_actions, src_fd, dest_fd) != 0)
- {
- posix_spawn_file_actions_destroy(&file_actions);
- return false;
- }
- }
- }
-
- int pid = 0;
- int spawn_succeeded = (posix_spawnp(&pid,
- argv_copy[0],
- &file_actions,
- NULL,
- argv_copy,
- *_NSGetEnviron()) == 0);
-
- posix_spawn_file_actions_destroy(&file_actions);
-
- bool process_handle_valid = pid > 0;
- if (!spawn_succeeded || !process_handle_valid) {
- retval = false;
- } else {
- if (wait)
- HANDLE_EINTR(waitpid(pid, 0, 0));
-
- if (process_handle)
- *process_handle = pid;
- }
-
- return retval;
-}
-
-bool LaunchApp(const CommandLine& cl,
- bool wait, bool start_hidden, ProcessHandle* process_handle) {
- // TODO(playmobil): Do we need to respect the start_hidden flag?
- file_handle_mapping_vector no_files;
- return LaunchApp(cl.argv(), no_files, wait, process_handle);
-}
-
NamedProcessIterator::NamedProcessIterator(const std::wstring& executable_name,
const ProcessFilter* filter)
: executable_name_(executable_name),
« no previous file with comments | « base/process_util_linux.cc ('k') | base/process_util_posix.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698