1
1

add notifier events for process migration

This commit was SVN r24058.
Этот коммит содержится в:
Abhishek Kulkarni 2010-11-16 17:57:44 +00:00
родитель 6e6ccae082
Коммит 78a67654d4
3 изменённых файлов: 33 добавлений и 0 удалений

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

@ -82,6 +82,7 @@ typedef uint8_t orte_errmgr_tool_cmd_flag_t;
ORTE_DECLSPEC int orte_errmgr_base_tool_init(void);
ORTE_DECLSPEC int orte_errmgr_base_tool_finalize(void);
ORTE_DECLSPEC void orte_errmgr_base_migrate_state_notify(int state);
ORTE_DECLSPEC int orte_errmgr_base_migrate_state_str(char ** state_str, int state);
ORTE_DECLSPEC int orte_errmgr_base_migrate_update(int status);

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

@ -74,6 +74,7 @@
#include "orte/mca/snapc/base/base.h"
#include "orte/mca/sstore/sstore.h"
#include "orte/mca/sstore/base/base.h"
#include "orte/mca/notifier/notifier.h"
#include "orte/mca/errmgr/errmgr.h"
#include "orte/mca/errmgr/base/base.h"
@ -240,6 +241,32 @@ void orte_errmgr_base_abort(int error_code, char *fmt, ...)
* Utility functions
********************/
#if OPAL_ENABLE_FT_CR
void orte_errmgr_base_migrate_state_notify(int state)
{
switch(state) {
case ORTE_ERRMGR_MIGRATE_STATE_ERROR:
case ORTE_ERRMGR_MIGRATE_STATE_ERR_INPROGRESS:
orte_notifier.log(ORTE_NOTIFIER_ERROR, state,
"base:migrate_state_notify: Migration failed (PID = %d)", true,
orte_process_info.pid);
break;
case ORTE_ERRMGR_MIGRATE_STATE_FINISH:
orte_notifier.show_help(ORTE_NOTIFIER_INFO, state,
"help-orte-errmgr-hnp.txt", "crmig_migrated_job", true);
break;
case ORTE_ERRMGR_MIGRATE_STATE_NONE:
case ORTE_ERRMGR_MIGRATE_STATE_REQUEST:
case ORTE_ERRMGR_MIGRATE_STATE_RUNNING:
case ORTE_ERRMGR_MIGRATE_STATE_RUN_CKPT:
case ORTE_ERRMGR_MIGRATE_STATE_STARTUP:
case ORTE_ERRMGR_MIGRATE_MAX:
default:
break;
}
}
int orte_errmgr_base_migrate_state_str(char ** state_str, int state)
{
switch(state) {

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

@ -159,6 +159,11 @@ int orte_errmgr_base_migrate_update(int status)
return ORTE_ERR_BAD_PARAM;
}
/*
* Report the status over the notifier interface
*/
orte_errmgr_base_migrate_state_notify(status);
/*
* If the caller is indicating that they are finished and ready for another
* command, then repost the RML listener.