diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2016-06-30 08:29:07 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2016-06-30 08:29:07 +0000 |
commit | f3832fc495cbdb9059573f12b7a0c515b284c9fd (patch) | |
tree | a1c65b00d08a817878e99265f5ec5e72946beb9b /defaults | |
parent | 01ee1627dc1e739932849b47a4c2cb5ff4145cb6 (diff) |
Let bootstrap signal reinitialize of defaults
Diffstat (limited to 'defaults')
-rw-r--r-- | defaults/src/vespa/defaults.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/defaults/src/vespa/defaults.cpp b/defaults/src/vespa/defaults.cpp index 387f28df542..ab76cd06175 100644 --- a/defaults/src/vespa/defaults.cpp +++ b/defaults/src/vespa/defaults.cpp @@ -7,6 +7,7 @@ #include <string.h> #include <string> #include <unistd.h> +#include <atomic> namespace { @@ -14,10 +15,10 @@ const char *defaultHome = "/opt/vespa/"; char computedHome[PATH_MAX]; int defaultWebServicePort = 8080; int defaultPortBase = 19000; +std::atomic<bool> initialized(false); void findDefaults() { - static int hasRun = 0; - if (hasRun) return; + if (initialized) return; const char *env = getenv("VESPA_HOME"); if (env != NULL) { DIR *dp = NULL; @@ -63,7 +64,7 @@ void findDefaults() { fprintf(stderr, "warning\tbad VESPA_PORT_BASE '%s' (ignored)\n", env); } } - hasRun = 1; + initialized = true; } } @@ -118,6 +119,7 @@ Defaults::bootstrap(const char *argv0) putenv(&setting[0]); } } + initialized = false; } const char * |