1
1
openmpi/orte/mca/state/app/state_app_component.c
Ralph Castain bd8b4f7f1e Sorry for mid-day commit, but I had promised on the call to do this upon my return.
Roll in the ORTE state machine. Remove last traces of opal_sos. Remove UTK epoch code.

Please see the various emails about the state machine change for details. I'll send something out later with more info on the new arch.

This commit was SVN r26242.
2012-04-06 14:23:13 +00:00

85 строки
1.9 KiB
C

/*
* Copyright (c) 2011 Los Alamos National Security, LLC.
* All rights reserved.
*
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "orte_config.h"
#include "opal/util/output.h"
#include "orte/mca/state/state.h"
#include "orte/mca/state/base/base.h"
#include "state_app.h"
/*
* Public string for version number
*/
const char *orte_state_app_component_version_string =
"ORTE STATE app MCA component version " ORTE_VERSION;
/*
* Local functionality
*/
static int state_app_open(void);
static int state_app_close(void);
static int state_app_component_query(mca_base_module_t **module, int *priority);
/*
* Instantiate the public struct with all of our public information
* and pointer to our public functions in it
*/
orte_state_base_component_t mca_state_app_component =
{
/* Handle the general mca_component_t struct containing
* meta information about the component
*/
{
ORTE_STATE_BASE_VERSION_1_0_0,
/* Component name and version */
"app",
ORTE_MAJOR_VERSION,
ORTE_MINOR_VERSION,
ORTE_RELEASE_VERSION,
/* Component open and close functions */
state_app_open,
state_app_close,
state_app_component_query
},
{
/* The component is checkpoint ready */
MCA_BASE_METADATA_PARAM_CHECKPOINT
},
};
static int my_priority=1000;
static int state_app_open(void)
{
return ORTE_SUCCESS;
}
static int state_app_close(void)
{
return ORTE_SUCCESS;
}
static int state_app_component_query(mca_base_module_t **module, int *priority)
{
if (ORTE_PROC_IS_APP) {
/* set our priority high as we are the default for apps */
*priority = my_priority;
*module = (mca_base_module_t *)&orte_state_app_module;
return ORTE_SUCCESS;
}
*priority = -1;
*module = NULL;
return ORTE_ERROR;
}