summaryrefslogtreecommitdiffstats
path: root/src/database/rrdhost.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/database/rrdhost.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/database/rrdhost.c b/src/database/rrdhost.c
index 6bf2c255..b3d786cf 100644
--- a/src/database/rrdhost.c
+++ b/src/database/rrdhost.c
@@ -935,7 +935,13 @@ void dbengine_init(char *hostname) {
config_set_number(CONFIG_SECTION_DB, "dbengine tier 0 disk space MB", default_multidb_disk_quota_mb);
}
+#ifdef OS_WINDOWS
+ // FIXME: for whatever reason joining the initialization threads
+ // fails on Windows.
+ bool parallel_initialization = false;
+#else
bool parallel_initialization = (storage_tiers <= (size_t)get_netdata_cpus()) ? true : false;
+#endif
struct dbengine_initialization tiers_init[RRD_STORAGE_TIERS] = {};
@@ -1488,18 +1494,16 @@ static void rrdhost_load_kubernetes_labels(void) {
return;
}
- pid_t pid;
- FILE *fp_child_input;
- FILE *fp_child_output = netdata_popen(label_script, &pid, &fp_child_input);
- if(!fp_child_output) return;
+ POPEN_INSTANCE *instance = spawn_popen_run(label_script);
+ if(!instance) return;
char buffer[1000 + 1];
- while (fgets(buffer, 1000, fp_child_output) != NULL)
+ while (fgets(buffer, 1000, instance->child_stdout_fp) != NULL)
rrdlabels_add_pair(localhost->rrdlabels, buffer, RRDLABEL_SRC_AUTO|RRDLABEL_SRC_K8S);
// Non-zero exit code means that all the script output is error messages. We've shown already any message that didn't include a ':'
// Here we'll inform with an ERROR that the script failed, show whatever (if anything) was added to the list of labels, free the memory and set the return to null
- int rc = netdata_pclose(fp_child_input, fp_child_output, pid);
+ int rc = spawn_popen_wait(instance);
if(rc)
nd_log(NDLS_DAEMON, NDLP_ERR,
"%s exited abnormally. Failed to get kubernetes labels.",