1
1

Add an FT event state and set the state machine to callback to the OOB base ft event when activated

This commit was SVN r30950.
Этот коммит содержится в:
Ralph Castain 2014-03-06 02:44:29 +00:00
родитель 9793909988
Коммит 7a44af375c
4 изменённых файлов: 17 добавлений и 5 удалений

Просмотреть файл

@ -170,6 +170,10 @@ OBJ_CLASS_DECLARATION(mca_oob_uri_req_t);
}while(0); }while(0);
ORTE_DECLSPEC void orte_oob_base_set_addr(int fd, short args, void *cbdata); ORTE_DECLSPEC void orte_oob_base_set_addr(int fd, short args, void *cbdata);
#if OPAL_ENABLE_FT_CR == 1
ORTE_DECLSPEC void orte_oob_base_ft_event(int fd, short args, void *cbdata);
#endif
END_C_DECLS END_C_DECLS
#endif #endif

Просмотреть файл

@ -87,6 +87,11 @@ static int orte_oob_base_open(mca_base_open_flag_t flags)
opal_hash_table_init(&orte_oob_base.peers, 128); opal_hash_table_init(&orte_oob_base.peers, 128);
OBJ_CONSTRUCT(&orte_oob_base.actives, opal_list_t); OBJ_CONSTRUCT(&orte_oob_base.actives, opal_list_t);
#if OPAL_ENABLE_FT_CR == 1
/* register the FT event callback */
orte_state.add_job_state(ORTE_JOB_STATE_FT_EVENT, orte_oob_ft_event, ORTE_ERROR_PRI);
#endif
/* Open up all available components */ /* Open up all available components */
return mca_base_framework_components_open(&orte_oob_base_framework, flags); return mca_base_framework_components_open(&orte_oob_base_framework, flags);
} }

Просмотреть файл

@ -379,12 +379,12 @@ static void process_uri(char *uri)
opal_argv_free(uris); opal_argv_free(uris);
} }
#if 0 #if OPAL_ENABLE_FT_CR == 1
void orte_oob_base_ft_event(int sd, short argc, void *cbdata)
int mca_oob_base_ft_event(int state)
{ {
int rc; int rc;
mca_oob_module_t *mod; mca_oob_module_t *mod;
orte_state_caddy_t *state = (orte_state_caddy_t*)cbdata;
/* loop across all available modules in priority order /* loop across all available modules in priority order
* and call each one's ft_event handler * and call each one's ft_event handler
@ -396,8 +396,7 @@ int mca_oob_base_ft_event(int state)
} }
} }
} }
OBJ_RELEASE(state);
return ORTE_SUCCESS;
} }
#endif #endif

Просмотреть файл

@ -173,6 +173,10 @@ typedef int32_t orte_job_state_t;
#define ORTE_JOB_STATE_REPORT_PROGRESS (ORTE_JOB_STATE_ERROR + 17) /* report launch progress - not an error */ #define ORTE_JOB_STATE_REPORT_PROGRESS (ORTE_JOB_STATE_ERROR + 17) /* report launch progress - not an error */
#define ORTE_JOB_STATE_ALLOC_FAILED (ORTE_JOB_STATE_ERROR + 18) /* job failed to obtain an allocation */ #define ORTE_JOB_STATE_ALLOC_FAILED (ORTE_JOB_STATE_ERROR + 18) /* job failed to obtain an allocation */
/* define an FT event */
#define ORTE_JOB_STATE_FT_EVENT (ORTE_JOB_STATE_ERROR + 19)
/* Define a boundary so that external developers /* Define a boundary so that external developers
* have a starting point for defining their own * have a starting point for defining their own
* job states * job states