diff options
author | bradchen@google.com <bradchen@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-05 01:17:48 +0000 |
---|---|---|
committer | bradchen@google.com <bradchen@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-05 01:17:48 +0000 |
commit | 434976f03ea2ddc6dd338d11635ab850e82556ef (patch) | |
tree | d280cadf645b1c7a346e3f6a3192890274dfae1a | |
parent | 507ffdf6079782560d84150c156c2c7f8e23e2f9 (diff) | |
download | chromium_src-434976f03ea2ddc6dd338d11635ab850e82556ef.zip chromium_src-434976f03ea2ddc6dd338d11635ab850e82556ef.tar.gz chromium_src-434976f03ea2ddc6dd338d11635ab850e82556ef.tar.bz2 |
Fix nacl_helper startup bug with command line construction.
Add proper chrome dependencies. Re-enable nacl_helper.
BUG=92964,nativeclient:480,95168
TEST=nacl_integration tests on bots
Review URL: http://codereview.chromium.org/7833017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99617 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/chrome_exe.gypi | 6 | ||||
-rw-r--r-- | chrome/nacl/nacl_fork_delegate_linux.cc | 11 |
2 files changed, 10 insertions, 7 deletions
diff --git a/chrome/chrome_exe.gypi b/chrome/chrome_exe.gypi index f028efd..e5428dd 100644 --- a/chrome/chrome_exe.gypi +++ b/chrome/chrome_exe.gypi @@ -453,6 +453,12 @@ '../third_party/adobe/flash/flash_player.gyp:flash_player', ], }], + ['OS=="linux"', { + 'dependencies': [ + 'nacl_helper_bootstrap', + 'nacl_helper', + ], + }], ['OS=="mac"', { 'dependencies': [ # On Mac, make sure we've built chrome_dll, which contains all of diff --git a/chrome/nacl/nacl_fork_delegate_linux.cc b/chrome/nacl/nacl_fork_delegate_linux.cc index 6623846..828cb6e 100644 --- a/chrome/nacl/nacl_fork_delegate_linux.cc +++ b/chrome/nacl/nacl_fork_delegate_linux.cc @@ -46,22 +46,19 @@ void NaClForkDelegate::Init(const bool sandboxed, fds_to_map.push_back(std::make_pair(fds[1], kNaClZygoteDescriptor)); fds_to_map.push_back(std::make_pair(sandboxdesc, kNaClSandboxDescriptor)); ready_ = false; - return; // Disable nacl_helper while fixing some issues. - FilePath helper_exe; FilePath helper_bootstrap_exe; if (PathService::Get(chrome::FILE_NACL_HELPER, &helper_exe) && PathService::Get(chrome::FILE_NACL_HELPER_BOOTSTRAP, &helper_bootstrap_exe) && !RunningOnValgrind()) { - CommandLine::StringVector argv = CommandLine::ForCurrentProcess()->argv(); - argv[0] = helper_bootstrap_exe.value(); - argv[1] = helper_exe.value(); - argv[2] = kNaClHelperAtZero; + CommandLine cmd_line(helper_bootstrap_exe); + cmd_line.AppendArgPath(helper_exe); + cmd_line.AppendArgNative(kNaClHelperAtZero); base::LaunchOptions options; options.fds_to_remap = &fds_to_map; options.clone_flags = CLONE_FS | SIGCHLD; - ready_ = base::LaunchProcess(argv, options, NULL); + ready_ = base::LaunchProcess(cmd_line.argv(), options, NULL); // parent and error cases are handled below } if (HANDLE_EINTR(close(fds[1])) != 0) |