Ensure that debugger connect can occur by getting the rml contact info updated before calling init_after_spawn
cmr:v1.7.3,reviewer=jsquyres This commit was SVN r28455.
Этот коммит содержится в:
родитель
c52b94af8b
Коммит
f15fe5045e
@ -534,9 +534,6 @@ void orte_plm_base_post_launch(int fd, short args, void *cbdata)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* complete debugger interface */
|
|
||||||
ORTE_ACTIVATE_JOB_STATE(jdata, ORTE_JOB_STATE_READY_FOR_DEBUGGERS);
|
|
||||||
|
|
||||||
/* cleanup */
|
/* cleanup */
|
||||||
OBJ_RELEASE(caddy);
|
OBJ_RELEASE(caddy);
|
||||||
}
|
}
|
||||||
@ -608,8 +605,9 @@ void orte_plm_base_registered(int fd, short args, void *cbdata)
|
|||||||
}
|
}
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
/* RHC: need to init_after_spawn for debuggers */
|
/* need to init_after_spawn for debuggers */
|
||||||
/* no state to activate - this ends the launch sequence */
|
ORTE_ACTIVATE_JOB_STATE(jdata, ORTE_JOB_STATE_READY_FOR_DEBUGGERS);
|
||||||
|
|
||||||
OBJ_RELEASE(caddy);
|
OBJ_RELEASE(caddy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -346,14 +346,9 @@ int orte_routed_base_process_callback(orte_jobid_t job, opal_buffer_t *buffer)
|
|||||||
orte_vpid_t vpid;
|
orte_vpid_t vpid;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
if (ORTE_JOB_FAMILY(job) == ORTE_JOB_FAMILY(ORTE_PROC_MY_NAME->jobid)) {
|
|
||||||
/* came from singleton - don't process it */
|
|
||||||
return ORTE_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* lookup the job object for this process */
|
/* lookup the job object for this process */
|
||||||
if (NULL == (jdata = orte_get_job_data_object(job))) {
|
if (NULL == (jdata = orte_get_job_data_object(job))) {
|
||||||
/* came from my job family - this is an error */
|
/* came from a different job family - this is an error */
|
||||||
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
|
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
|
||||||
return ORTE_ERR_NOT_FOUND;
|
return ORTE_ERR_NOT_FOUND;
|
||||||
}
|
}
|
||||||
|
@ -455,6 +455,10 @@ static int pack_child_contact_info(orte_jobid_t jobid, opal_buffer_t *buf)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (jobid == pptr->name.jobid) {
|
if (jobid == pptr->name.jobid) {
|
||||||
|
if (OPAL_SUCCESS != (rc = opal_dss.pack(buf, &pptr->name.vpid, 1, ORTE_VPID))) {
|
||||||
|
ORTE_ERROR_LOG(rc);
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
if (OPAL_SUCCESS != (rc = opal_dss.pack(buf, &pptr->rml_uri, 1, OPAL_STRING))) {
|
if (OPAL_SUCCESS != (rc = opal_dss.pack(buf, &pptr->rml_uri, 1, OPAL_STRING))) {
|
||||||
ORTE_ERROR_LOG(rc);
|
ORTE_ERROR_LOG(rc);
|
||||||
return rc;
|
return rc;
|
||||||
|
@ -2875,6 +2875,10 @@ void orte_debugger_init_after_spawn(int fd, short event, void *cbdata)
|
|||||||
*/
|
*/
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
opal_output_verbose(2, orte_debug_output,
|
||||||
|
"%s sending debugger release to %s",
|
||||||
|
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
|
||||||
|
ORTE_NAME_PRINT(&proc->name));
|
||||||
buf = OBJ_NEW(opal_buffer_t); /* don't need anything in this */
|
buf = OBJ_NEW(opal_buffer_t); /* don't need anything in this */
|
||||||
if (0 > (rc = orte_rml.send_buffer_nb(&proc->name, buf,
|
if (0 > (rc = orte_rml.send_buffer_nb(&proc->name, buf,
|
||||||
ORTE_RML_TAG_DEBUGGER_RELEASE, 0,
|
ORTE_RML_TAG_DEBUGGER_RELEASE, 0,
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user