1
1

Fix dynamic operations by ensuring that we only fire the debugger release if the debugger is attached, and that the OPAL pmix key for directing events to non-default handlers matches the PMIx spelling

Этот коммит содержится в:
Ralph Castain 2016-07-16 13:20:41 -07:00
родитель 06930a0423
Коммит d4071fbd1c
4 изменённых файлов: 21 добавлений и 14 удалений

1
opal/mca/pmix/ext20/pmix_ext20.c Обычный файл → Исполняемый файл
Просмотреть файл

@ -1183,6 +1183,7 @@ static void tscon(pmix20_threadshift_t *p)
p->event_codes = NULL; p->event_codes = NULL;
p->info = NULL; p->info = NULL;
p->evhandler = NULL; p->evhandler = NULL;
p-<nondefault = false;
p->cbfunc = NULL; p->cbfunc = NULL;
p->opcbfunc = NULL; p->opcbfunc = NULL;
p->cbdata = NULL; p->cbdata = NULL;

1
opal/mca/pmix/pmix2x/pmix2x.c Обычный файл → Исполняемый файл
Просмотреть файл

@ -1239,6 +1239,7 @@ static void tscon(pmix2x_threadshift_t *p)
p->event_codes = NULL; p->event_codes = NULL;
p->info = NULL; p->info = NULL;
p->evhandler = NULL; p->evhandler = NULL;
p->nondefault = false;
p->cbfunc = NULL; p->cbfunc = NULL;
p->opcbfunc = NULL; p->opcbfunc = NULL;
p->cbdata = NULL; p->cbdata = NULL;

2
opal/mca/pmix/pmix_types.h Обычный файл → Исполняемый файл
Просмотреть файл

@ -145,7 +145,7 @@ BEGIN_C_DECLS
#define OPAL_PMIX_EVENT_CUSTOM_RANGE "pmix.evrange" // (pmix_proc_t*) array of pmix_proc_t defining range of event notification #define OPAL_PMIX_EVENT_CUSTOM_RANGE "pmix.evrange" // (pmix_proc_t*) array of pmix_proc_t defining range of event notification
#define OPAL_PMIX_EVENT_AFFECTED_PROC "pmix.evproc" // (pmix_proc_t) single proc that was affected #define OPAL_PMIX_EVENT_AFFECTED_PROC "pmix.evproc" // (pmix_proc_t) single proc that was affected
#define OPAL_PMIX_EVENT_AFFECTED_PROCS "pmix.evaffected" // (pmix_proc_t*) array of pmix_proc_t defining affected procs #define OPAL_PMIX_EVENT_AFFECTED_PROCS "pmix.evaffected" // (pmix_proc_t*) array of pmix_proc_t defining affected procs
#define OPAL_PMIX_EVENT_NON_DEFAULT "opal.evnondef" // (bool) event is not to be delivered to default event handlers #define OPAL_PMIX_EVENT_NON_DEFAULT "pmix.evnondef" // (bool) event is not to be delivered to default event handlers
/* fault tolerance-related events */ /* fault tolerance-related events */
#define OPAL_PMIX_EVENT_TERMINATE_SESSION "pmix.evterm.sess" // (bool) RM intends to terminate session #define OPAL_PMIX_EVENT_TERMINATE_SESSION "pmix.evterm.sess" // (bool) RM intends to terminate session
#define OPAL_PMIX_EVENT_TERMINATE_JOB "pmix.evterm.job" // (bool) RM intends to terminate this job #define OPAL_PMIX_EVENT_TERMINATE_JOB "pmix.evterm.job" // (bool) RM intends to terminate this job

5
orte/orted/orted_submit.c Обычный файл → Исполняемый файл
Просмотреть файл

@ -2367,10 +2367,14 @@ void orte_debugger_init_after_spawn(int fd, short event, void *cbdata)
* message by checking here * message by checking here
*/ */
if (MPIR_proctable || 0 == jdata->num_procs) { if (MPIR_proctable || 0 == jdata->num_procs) {
/* already initialized */ /* already initialized */
opal_output_verbose(5, orte_debug_output, opal_output_verbose(5, orte_debug_output,
"%s: debugger already initialized or zero procs", "%s: debugger already initialized or zero procs",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)); ORTE_NAME_PRINT(ORTE_PROC_MY_NAME));
if (MPIR_being_debugged || NULL != orte_debugger_test_daemon ||
NULL != getenv("ORTE_TEST_DEBUGGER_ATTACH")) {
OBJ_RELEASE(caddy); OBJ_RELEASE(caddy);
if (!mpir_breakpoint_fired) { if (!mpir_breakpoint_fired) {
/* record that we have triggered the debugger */ /* record that we have triggered the debugger */
@ -2385,6 +2389,7 @@ void orte_debugger_init_after_spawn(int fd, short event, void *cbdata)
/* notify all procs that the debugger is ready */ /* notify all procs that the debugger is ready */
_send_notification(); _send_notification();
} }
}
return; return;
} }