summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authoragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-01-13 20:33:45 +0000
committeragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-01-13 20:33:45 +0000
commitac3d597ebe7b6d9c83a8922e927be7980fbed399 (patch)
treea7551ecf2be1ebf4f8cca8377dada7ea979d298d /chrome
parent93983a938f6b5f31ba792f5fa28a62822015eddf (diff)
downloadchromium_src-ac3d597ebe7b6d9c83a8922e927be7980fbed399.zip
chromium_src-ac3d597ebe7b6d9c83a8922e927be7980fbed399.tar.gz
chromium_src-ac3d597ebe7b6d9c83a8922e927be7980fbed399.tar.bz2
NSS: don't set environment variables when multi-threaded.
We can't alter the envionment once we have gone multithreaded because glibc's getenv doesn't take the environment lock. Thus we add an EarlyNSSInit() function which can do so, early in startup. BUG=66835 TEST=ThreadSanitizer http://codereview.chromium.org/6185005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71351 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/app/chrome_main.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/chrome/app/chrome_main.cc b/chrome/app/chrome_main.cc
index b13944c..1397cf9 100644
--- a/chrome/app/chrome_main.cc
+++ b/chrome/app/chrome_main.cc
@@ -13,6 +13,7 @@
#include "base/message_loop.h"
#include "base/metrics/stats_counters.h"
#include "base/metrics/stats_table.h"
+#include "base/nss_util.h"
#include "base/path_service.h"
#include "base/process_util.h"
#include "base/string_number_conversions.h"
@@ -710,6 +711,10 @@ int ChromeMain(int argc, char** argv) {
}
SetupCRT(command_line);
+#if defined(USE_NSS)
+ base::EarlySetupForNSSInit();
+#endif
+
// Initialize the Chrome path provider.
app::RegisterPathProvider();
chrome::RegisterPathProvider();