summaryrefslogtreecommitdiffstats
path: root/chrome/nacl
diff options
context:
space:
mode:
authorszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-19 16:08:00 +0000
committerszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-19 16:08:00 +0000
commitc4e68132a559e4e0bcec58a15aa2a43090a0dcd7 (patch)
tree2dd02f46a6a59cc32162e5afeeeb6a9227e620d7 /chrome/nacl
parentddbc6ff92d9389a92033ced2bfc5b341a2218fc9 (diff)
downloadchromium_src-c4e68132a559e4e0bcec58a15aa2a43090a0dcd7.zip
chromium_src-c4e68132a559e4e0bcec58a15aa2a43090a0dcd7.tar.gz
chromium_src-c4e68132a559e4e0bcec58a15aa2a43090a0dcd7.tar.bz2
Revert 195190 "Set up NaClChromeMainArgs number_of_cores member ..."
> Set up NaClChromeMainArgs number_of_cores member so apps can size threadpools appropriately > > The outer sandbox on Linux and OSX was preventing > sysconf(_SC_NPROCESSORS_ONLN) from succeeding, so that NaCl > applications that need the number of threads were getting a > bogus value (-1 when using newlib, and 1 when using glibc). > > TEST= run_sysconf_nprocessors_onln_test > BUG= 176522 > > Review URL: https://chromiumcodereview.appspot.com/14238013 TBR=bsy@google.com Review URL: https://codereview.chromium.org/14320030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195213 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/nacl')
-rw-r--r--chrome/nacl/nacl_helper_linux.cc12
-rw-r--r--chrome/nacl/nacl_listener.cc8
-rw-r--r--chrome/nacl/nacl_listener.h15
-rw-r--r--chrome/nacl/nacl_main.cc9
4 files changed, 4 insertions, 40 deletions
diff --git a/chrome/nacl/nacl_helper_linux.cc b/chrome/nacl/nacl_helper_linux.cc
index a066db7..53c2fb30 100644
--- a/chrome/nacl/nacl_helper_linux.cc
+++ b/chrome/nacl/nacl_helper_linux.cc
@@ -40,8 +40,7 @@ namespace {
// if (!child) {
// Note: this code doesn't attempt to support SELINUX or the SECCOMP sandbox.
void BecomeNaClLoader(const std::vector<int>& child_fds,
- size_t prereserved_sandbox_size,
- int number_of_cores) {
+ size_t prereserved_sandbox_size) {
VLOG(1) << "NaCl loader: setting up IPC descriptor";
// don't need zygote FD any more
if (HANDLE_EINTR(close(kNaClZygoteDescriptor)) != 0)
@@ -52,7 +51,6 @@ void BecomeNaClLoader(const std::vector<int>& child_fds,
MessageLoopForIO main_message_loop;
NaClListener listener;
listener.set_prereserved_sandbox_size(prereserved_sandbox_size);
- listener.set_number_of_cores(number_of_cores);
listener.Listen();
_exit(0);
}
@@ -60,8 +58,7 @@ void BecomeNaClLoader(const std::vector<int>& child_fds,
// Some of this code was lifted from
// content/browser/zygote_main_linux.cc:ForkWithRealPid()
void HandleForkRequest(const std::vector<int>& child_fds,
- size_t prereserved_sandbox_size,
- int number_of_cores) {
+ size_t prereserved_sandbox_size) {
VLOG(1) << "nacl_helper: forking";
pid_t childpid = fork();
if (childpid < 0) {
@@ -99,7 +96,7 @@ void HandleForkRequest(const std::vector<int>& child_fds,
if (HANDLE_EINTR(close(child_fds[kNaClParentFDIndex])) != 0)
LOG(ERROR) << "close(child_fds[kNaClParentFDIndex]) failed";
if (validack) {
- BecomeNaClLoader(child_fds, prereserved_sandbox_size, number_of_cores);
+ BecomeNaClLoader(child_fds, prereserved_sandbox_size);
} else {
LOG(ERROR) << "Failed to synch with zygote";
}
@@ -239,7 +236,6 @@ int main(int argc, char* argv[]) {
#endif
std::vector<int> empty; // for SendMsg() calls
size_t prereserved_sandbox_size = CheckReservedAtZero();
- int number_of_cores = sysconf(_SC_NPROCESSORS_ONLN);
CheckRDebug(argv[0]);
@@ -276,7 +272,7 @@ int main(int argc, char* argv[]) {
} else if (msglen == sizeof(kNaClForkRequest) - 1 &&
memcmp(buf, kNaClForkRequest, msglen) == 0) {
if (kNaClParentFDIndex + 1 == fds.size()) {
- HandleForkRequest(fds, prereserved_sandbox_size, number_of_cores);
+ HandleForkRequest(fds, prereserved_sandbox_size);
continue; // fork succeeded. Note: child does not return
} else {
LOG(ERROR) << "nacl_helper: unexpected number of fds, got "
diff --git a/chrome/nacl/nacl_listener.cc b/chrome/nacl/nacl_listener.cc
index 477be0e..5f3ced4 100644
--- a/chrome/nacl/nacl_listener.cc
+++ b/chrome/nacl/nacl_listener.cc
@@ -7,10 +7,6 @@
#include <errno.h>
#include <stdlib.h>
-#if defined(OS_POSIX)
-#include <unistd.h>
-#endif
-
#include "base/command_line.h"
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
@@ -145,9 +141,6 @@ NaClListener::NaClListener() : shutdown_event_(true, false),
#if defined(OS_LINUX)
prereserved_sandbox_size_(0),
#endif
-#if defined(OS_POSIX)
- number_of_cores_(-1), // unknown/error
-#endif
main_loop_(NULL) {
io_thread_.StartWithOptions(base::Thread::Options(MessageLoop::TYPE_IO, 0));
#if defined(OS_WIN)
@@ -233,7 +226,6 @@ void NaClListener::OnStart(const nacl::NaClStartParams& params) {
LOG(ERROR) << "Failed to dup() the urandom FD";
return;
}
- args->number_of_cores = number_of_cores_;
args->create_memory_object_func = CreateMemoryObject;
# if defined(OS_MACOSX)
CHECK(handles.size() >= 1);
diff --git a/chrome/nacl/nacl_listener.h b/chrome/nacl/nacl_listener.h
index 66627c0..20e3e78 100644
--- a/chrome/nacl/nacl_listener.h
+++ b/chrome/nacl/nacl_listener.h
@@ -34,11 +34,6 @@ class NaClListener : public IPC::Listener {
prereserved_sandbox_size_ = prereserved_sandbox_size;
}
#endif
-#if defined(OS_POSIX)
- void set_number_of_cores(int number_of_cores) {
- number_of_cores_ = number_of_cores;
- }
-#endif
private:
void OnStart(const nacl::NaClStartParams& params);
@@ -56,16 +51,6 @@ class NaClListener : public IPC::Listener {
#if defined(OS_LINUX)
size_t prereserved_sandbox_size_;
#endif
-#if defined(OS_POSIX)
- /*
- * The outer sandbox on Linux and OSX prevents
- * sysconf(_SC_NPROCESSORS) from working; in Windows, there are no
- * problems with invoking GetSystemInfo. Therefore, only in
- * OS_POSIX do we need to supply the number of cores into
- * NaClChromeMainArgs object.
- */
- int number_of_cores_;
-#endif
// Used to identify what thread we're on.
MessageLoop* main_loop_;
diff --git a/chrome/nacl/nacl_main.cc b/chrome/nacl/nacl_main.cc
index a7c1124..9b7a8c6 100644
--- a/chrome/nacl/nacl_main.cc
+++ b/chrome/nacl/nacl_main.cc
@@ -33,12 +33,6 @@ int NaClMain(const content::MainFunctionParams& parameters) {
bool no_sandbox = parsed_command_line.HasSwitch(switches::kNoSandbox);
platform.InitSandboxTests(no_sandbox);
-#if defined(OS_POSIX)
- // The number of cores must be obtained before the invocation of
- // platform.EnableSandbox(), so cannot simply be inlined below.
- int number_of_cores = sysconf(_SC_NPROCESSORS_ONLN);
-#endif
-
if (!no_sandbox) {
platform.EnableSandbox();
}
@@ -46,9 +40,6 @@ int NaClMain(const content::MainFunctionParams& parameters) {
if (sandbox_test_result) {
NaClListener listener;
-#if defined(OS_POSIX)
- listener.set_number_of_cores(number_of_cores);
-#endif
listener.Listen();
} else {
// This indirectly prevents the test-harness-success-cookie from being set,