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: