43
43
#include "orte/util/show_help.h"
44
44
45
45
bool orte_help_want_aggregate = false;
46
+ static int orte_help_output ;
46
47
47
48
/*
48
49
* Local variable to know whether aggregated show_help is available or
@@ -447,7 +448,7 @@ static int show_help(const char *filename, const char *topic,
447
448
fflush (orte_xml_fp );
448
449
free (tmp );
449
450
} else {
450
- opal_output (orte_clean_output , "%s" , output );
451
+ opal_output (orte_help_output , "%s" , output );
451
452
}
452
453
if (!show_help_timer_set ) {
453
454
show_help_time_last_displayed = now ;
@@ -537,6 +538,8 @@ void orte_show_help_recv(int status, orte_process_name_t* sender,
537
538
538
539
int orte_show_help_init (void )
539
540
{
541
+ opal_output_stream_t lds ;
542
+
540
543
OPAL_OUTPUT_VERBOSE ((5 , orte_debug_output , "orte_show_help init" ));
541
544
542
545
/* Show help duplicate detection */
@@ -546,6 +549,12 @@ int orte_show_help_init(void)
546
549
547
550
OBJ_CONSTRUCT (& abd_tuples , opal_list_t );
548
551
552
+ /* create an output stream for us */
553
+ OBJ_CONSTRUCT (& lds , opal_output_stream_t );
554
+ lds .lds_want_stderr = true;
555
+ orte_help_output = opal_output_open (& lds );
556
+ OBJ_DESTRUCT (& lds );
557
+
549
558
save_help = opal_show_help ;
550
559
opal_show_help = orte_show_help ;
551
560
ready = true;
@@ -560,6 +569,8 @@ void orte_show_help_finalize(void)
560
569
}
561
570
ready = false;
562
571
572
+ opal_output_close (orte_help_output );
573
+
563
574
opal_show_help = save_help ;
564
575
save_help = NULL ;
565
576
0 commit comments