Android should also use a relaxed Singleton
authorMichael Lee <mzlee@fb.com>
Wed, 22 Mar 2017 17:41:23 +0000 (10:41 -0700)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Wed, 22 Mar 2017 17:50:38 +0000 (10:50 -0700)
Summary: On Android, we should also use a relaxed singleton

Reviewed By: andriigrynenko

Differential Revision: D4754227

fbshipit-source-id: 157844e618d216b768bbb07f36c380ba2f4c9ab8

folly/Singleton.cpp

index 4f24328..7d3eeac 100644 (file)
@@ -28,7 +28,7 @@
 
 #include <folly/ScopeGuard.h>
 
-#if !defined(_WIN32) && !defined(__APPLE__)
+#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__ANDROID__)
 static void hs_init_weak(int* argc, char** argv[])
     __attribute__((__weakref__("hs_init")));
 #endif
@@ -36,7 +36,7 @@ static void hs_init_weak(int* argc, char** argv[])
 namespace folly {
 
 SingletonVault::Type SingletonVault::defaultVaultType() {
-#if !defined(_WIN32) && !defined(__APPLE__)
+#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__ANDROID__)
   bool isPython = dlsym(RTLD_DEFAULT, "Py_Main");
   bool isHaskel = &::hs_init_weak || dlsym(RTLD_DEFAULT, "hs_init");
   bool isJVM = dlsym(RTLD_DEFAULT, "JNI_GetCreatedJavaVMs");