Browse Source

Improve process launch handle sharing API.

https://codereview.chromium.org/2950153002
Aleksei Kuzmin 7 years ago
parent
commit
f5d207f8f0
2 changed files with 4 additions and 8 deletions
  1. 1 4
      atom/browser/browser_linux.cc
  2. 3 4
      atom/browser/relauncher_linux.cc

+ 1 - 4
atom/browser/browser_linux.cc

@@ -31,10 +31,7 @@ bool LaunchXdgUtility(const std::vector<std::string>& argv, int* exit_code) {
   if (devnull < 0) return false;
 
   base::LaunchOptions options;
-
-  base::FileHandleMappingVector remap;
-  remap.push_back(std::make_pair(devnull, STDIN_FILENO));
-  options.fds_to_remap = &remap;
+  options.fds_to_remap.push_back(std::make_pair(devnull, STDIN_FILENO));
 
   base::Process process = base::LaunchProcess(argv, options);
   close(devnull);

+ 3 - 4
atom/browser/relauncher_linux.cc

@@ -60,14 +60,13 @@ int LaunchProgram(const StringVector& relauncher_args,
   // Redirect the stdout of child process to /dev/null, otherwise after
   // relaunch the child process will raise exception when writing to stdout.
   base::ScopedFD devnull(HANDLE_EINTR(open("/dev/null", O_WRONLY)));
-  base::FileHandleMappingVector no_stdout;
-  no_stdout.push_back(std::make_pair(devnull.get(), STDERR_FILENO));
-  no_stdout.push_back(std::make_pair(devnull.get(), STDOUT_FILENO));
 
   base::LaunchOptions options;
   options.allow_new_privs = true;
   options.new_process_group = true;  // detach
-  options.fds_to_remap = &no_stdout;
+  options.fds_to_remap.push_back(std::make_pair(devnull.get(), STDERR_FILENO));
+  options.fds_to_remap.push_back(std::make_pair(devnull.get(), STDOUT_FILENO));
+
   base::Process process = base::LaunchProcess(argv, options);
   return process.IsValid() ? 0 : 1;
 }