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
Этот коммит содержится в:
родитель
06930a0423
Коммит
d4071fbd1c
1
opal/mca/pmix/ext20/pmix_ext20.c
Обычный файл → Исполняемый файл
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
Обычный файл → Исполняемый файл
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
Обычный файл → Исполняемый файл
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
Обычный файл → Исполняемый файл
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user