Fix the debugger attach - previous commit had fixed one instance of a check prior to sending the release message, but there was a second code path that included a similar check that was missed. Thanks to John DelSignore for spotting it!
Этот коммит содержится в:
родитель
4b91237464
Коммит
4a623778a9
@ -2552,8 +2552,7 @@ void orte_debugger_init_after_spawn(int fd, short event, void *cbdata)
|
|||||||
* enter here with no procs. Avoid the "zero byte malloc"
|
* enter here with no procs. Avoid the "zero byte malloc"
|
||||||
* message by checking here
|
* message by checking here
|
||||||
*/
|
*/
|
||||||
if (MPIR_proctable || 0 == jdata->num_procs ||
|
if (MPIR_proctable || 0 == jdata->num_procs) {
|
||||||
NULL != getenv("ORTE_TEST_DEBUGGER_ATTACH")) {
|
|
||||||
/* 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",
|
||||||
@ -2659,7 +2658,8 @@ void orte_debugger_init_after_spawn(int fd, short event, void *cbdata)
|
|||||||
/* if we are being launched under a debugger, then we must wait
|
/* if we are being launched under a debugger, then we must wait
|
||||||
* for it to be ready to go and do some things to start the job
|
* for it to be ready to go and do some things to start the job
|
||||||
*/
|
*/
|
||||||
if (MPIR_being_debugged || NULL != orte_debugger_test_daemon) {
|
if (MPIR_being_debugged || NULL != orte_debugger_test_daemon ||
|
||||||
|
NULL != getenv("ORTE_TEST_DEBUGGER_ATTACH")) {
|
||||||
/* if we are not launching debugger daemons, then trigger
|
/* if we are not launching debugger daemons, then trigger
|
||||||
* the debugger - otherwise, we need to wait for the debugger
|
* the debugger - otherwise, we need to wait for the debugger
|
||||||
* daemons to be started
|
* daemons to be started
|
||||||
@ -2673,8 +2673,7 @@ void orte_debugger_init_after_spawn(int fd, short event, void *cbdata)
|
|||||||
|
|
||||||
/* send a message to rank=0 to release it */
|
/* send a message to rank=0 to release it */
|
||||||
if (NULL == (proc = (orte_proc_t*)opal_pointer_array_get_item(jdata->procs, 0)) ||
|
if (NULL == (proc = (orte_proc_t*)opal_pointer_array_get_item(jdata->procs, 0)) ||
|
||||||
ORTE_PROC_STATE_UNTERMINATED < proc->state ||
|
ORTE_PROC_STATE_UNTERMINATED < proc->state) {
|
||||||
NULL == proc->rml_uri) {
|
|
||||||
/* proc is already dead or never registered with us (so we don't have
|
/* proc is already dead or never registered with us (so we don't have
|
||||||
* contact info for him)
|
* contact info for him)
|
||||||
*/
|
*/
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user