1
1

Merge pull request #1879 from rhc54/topic/fixdyn

Fix dynamic operations by ensuring that we only fire the debugger rel…
Этот коммит содержится в:
rhc54 2016-07-16 14:28:12 -07:00 коммит произвёл GitHub
родитель 06930a0423 d4071fbd1c
Коммит 339235bee0
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->info = NULL;
p->evhandler = NULL;
p-<nondefault = false;
p->cbfunc = NULL;
p->opcbfunc = 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->info = NULL;
p->evhandler = NULL;
p->nondefault = false;
p->cbfunc = NULL;
p->opcbfunc = NULL;
p->cbdata = NULL;

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

@ -41,9 +41,9 @@ BEGIN_C_DECLS
* these keys are RESERVED */
#define OPAL_PMIX_ATTR_UNDEF NULL
#define OPAL_PMIX_SERVER_TOOL_SUPPORT "pmix.srvr.tool" // (bool) The host RM wants to declare itself as willing to
#define OPAL_PMIX_SERVER_TOOL_SUPPORT "pmix.srvr.tool" // (bool) The host RM wants to declare itself as willing to
// accept tool connection requests
#define OPAL_PMIX_SERVER_PIDINFO "pmix.srvr.pidinfo" // (uint32_t) pid of the target server
#define OPAL_PMIX_SERVER_PIDINFO "pmix.srvr.pidinfo" // (uint32_t) pid of the target server
/* identification attributes */
@ -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_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_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 */
#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

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

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