summaryrefslogtreecommitdiffstats
path: root/defaults
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2016-06-30 08:29:07 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2016-06-30 08:29:07 +0000
commitf3832fc495cbdb9059573f12b7a0c515b284c9fd (patch)
treea1c65b00d08a817878e99265f5ec5e72946beb9b /defaults
parent01ee1627dc1e739932849b47a4c2cb5ff4145cb6 (diff)
Let bootstrap signal reinitialize of defaults
Diffstat (limited to 'defaults')
-rw-r--r--defaults/src/vespa/defaults.cpp8
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 *