#include "src/include/pmix_config.h"
#include "pmix_common.h"
#include "src/mca/base/pmix_base.h"
#include "src/mca/base/pmix_mca_base_component_repository.h"
#include "src/mca/mca.h"
#include "src/util/pmix_output.h"
extern int pmix_mca_base_opened;
int pmix_mca_base_close(void)
{
assert(pmix_mca_base_opened);
if (!--pmix_mca_base_opened) {
int group_id = pmix_mca_base_var_group_find("pmix", "mca", "base");
if (-1 < group_id) {
pmix_mca_base_var_group_deregister(group_id);
}
if (NULL != pmix_mca_base_system_default_path) {
free(pmix_mca_base_system_default_path);
pmix_mca_base_system_default_path = NULL;
}
if (NULL != pmix_mca_base_user_default_path) {
free(pmix_mca_base_user_default_path);
pmix_mca_base_user_default_path = NULL;
}
if (NULL != pmix_mca_base_component_path) {
free(pmix_mca_base_component_path);
pmix_mca_base_component_path = NULL;
}
pmix_mca_base_component_repository_finalize();
pmix_mca_base_component_find_finalize();
pmix_mca_base_show_load_errors_finalize();
pmix_output_close(0);
}
return PMIX_SUCCESS;
}