1
1
openmpi/ompi/mca/topo/base/topo_base_close.c
Ralph Castain 9613b3176c Effectively revert the orte_output system and return to direct use of opal_output at all levels. Retain the orte_show_help subsystem to allow aggregation of show_help messages at the HNP.
After much work by Jeff and myself, and quite a lot of discussion, it has become clear that we simply cannot resolve the infinite loops caused by RML-involved subsystems calling orte_output. The original rationale for the change to orte_output has also been reduced by shifting the output of XML-formatted vs human readable messages to an alternative approach.

I have globally replaced the orte_output/ORTE_OUTPUT calls in the code base, as well as the corresponding .h file name. I have test compiled and run this on the various environments within my reach, so hopefully this will prove minimally disruptive.

This commit was SVN r18619.
2008-06-09 14:53:58 +00:00

55 строки
1.9 KiB
C

/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include <stdio.h>
#include "orte/util/show_help.h"
#include "ompi/constants.h"
#include "opal/mca/mca.h"
#include "opal/mca/base/base.h"
#include "ompi/mca/topo/topo.h"
#include "ompi/mca/topo/base/base.h"
int mca_topo_base_close(void)
{
/* We have to close all the components which are open. This might either
be the list of opened components or the list of available components.
Note that the components which are opened but are not available are
already closed */
if (mca_topo_base_components_opened_valid) {
mca_base_components_close (mca_topo_base_output,
&mca_topo_base_components_opened, NULL);
mca_topo_base_components_opened_valid = false;
} else if (mca_topo_base_components_available_valid) {
mca_base_components_close (mca_topo_base_output,
&mca_topo_base_components_available, NULL);
mca_topo_base_components_available_valid = false;
}
/* Close the output stream for this framework */
opal_output_close (mca_topo_base_output);
/*
* All done
*/
return OMPI_SUCCESS;
}