diff --git a/lib/common/output_html.c b/lib/common/output_html.c index 6127df2..6e21031 100644 --- a/lib/common/output_html.c +++ b/lib/common/output_html.c @@ -191,6 +191,9 @@ static void html_reset(pcmk__output_t *out) { CRM_ASSERT(out != NULL); + out->dest = freopen(NULL, "w", out->dest); + CRM_ASSERT(out->dest != NULL); + if (out->priv != NULL) { finish_reset_common(out, CRM_EX_OK, true); } diff --git a/lib/common/output_log.c b/lib/common/output_log.c index 0208046..8422ac2 100644 --- a/lib/common/output_log.c +++ b/lib/common/output_log.c @@ -72,6 +72,9 @@ static void log_reset(pcmk__output_t *out) { CRM_ASSERT(out != NULL); + out->dest = freopen(NULL, "w", out->dest); + CRM_ASSERT(out->dest != NULL); + log_free_priv(out); log_init(out); } diff --git a/lib/common/output_text.c b/lib/common/output_text.c index 8f15849..2f7e5b0 100644 --- a/lib/common/output_text.c +++ b/lib/common/output_text.c @@ -75,6 +75,9 @@ static void text_reset(pcmk__output_t *out) { CRM_ASSERT(out != NULL); + out->dest = freopen(NULL, "w", out->dest); + CRM_ASSERT(out->dest != NULL); + text_free_priv(out); text_init(out); } diff --git a/lib/common/output_xml.c b/lib/common/output_xml.c index b64a71d..9f8e01b 100644 --- a/lib/common/output_xml.c +++ b/lib/common/output_xml.c @@ -165,6 +165,9 @@ static void xml_reset(pcmk__output_t *out) { CRM_ASSERT(out != NULL); + out->dest = freopen(NULL, "w", out->dest); + CRM_ASSERT(out->dest != NULL); + if (out->priv != NULL) { finish_reset_common(out, CRM_EX_OK, true); } diff --git a/tools/crm_mon.c b/tools/crm_mon.c index 6c50447..7036c3f 100644 --- a/tools/crm_mon.c +++ b/tools/crm_mon.c @@ -2018,6 +2018,10 @@ mon_refresh_display(gpointer user_data) break; } + if (options.daemonize) { + out->reset(out); + } + stonith_history_free(stonith_history); stonith_history = NULL; pe_reset_working_set(mon_data_set); @@ -2183,6 +2187,11 @@ clean_up(crm_exit_t exit_code) * crm_mon to be able to do so. */ if (out != NULL) { + if (options.daemonize) { + out->dest = freopen(NULL, "w", out->dest); + CRM_ASSERT(out->dest != NULL); + } + switch (output_format) { case mon_output_cgi: case mon_output_html: