diff options
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 * |