Don't forget to set the name argument before spawning the daemon.
This commit was SVN r15047.
Этот коммит содержится в:
родитель
8e7daea11f
Коммит
18c2bb0ed6
@ -150,8 +150,8 @@ static const char * orte_pls_process_shell_name[] = {
|
||||
/* local global storage of timing variables */
|
||||
static struct timeval joblaunchstart, joblaunchstop;
|
||||
|
||||
/* global storage of active jobid being launched */
|
||||
static orte_jobid_t active_job = ORTE_JOBID_INVALID;
|
||||
/* global storage of active jobid being launched */
|
||||
static orte_jobid_t active_job = ORTE_JOBID_INVALID;
|
||||
|
||||
/**
|
||||
* Check the Shell variable on the specified node
|
||||
@ -482,12 +482,12 @@ int orte_pls_process_launch(orte_jobid_t jobid)
|
||||
return rc;
|
||||
}
|
||||
|
||||
/* account for any reuse of daemons */
|
||||
if (ORTE_SUCCESS != (rc = orte_pls_base_launch_on_existing_daemons(map))) {
|
||||
ORTE_ERROR_LOG(rc);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* account for any reuse of daemons */
|
||||
if (ORTE_SUCCESS != (rc = orte_pls_base_launch_on_existing_daemons(map))) {
|
||||
ORTE_ERROR_LOG(rc);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
num_nodes = map->num_new_daemons;
|
||||
if (0 == num_nodes) {
|
||||
/* nothing to do - just return */
|
||||
@ -605,12 +605,16 @@ int orte_pls_process_launch(orte_jobid_t jobid)
|
||||
char **exec_argv;
|
||||
|
||||
rmaps_node = (orte_mapped_node_t*)n_item;
|
||||
|
||||
/* if this daemon already exists, don't launch it! */
|
||||
if (rmaps_node->daemon_preexists) {
|
||||
continue;
|
||||
|
||||
/* if this daemon already exists, don't launch it! */
|
||||
if (rmaps_node->daemon_preexists) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/* setup node name */
|
||||
free(argv[node_name_index2]);
|
||||
argv[node_name_index2] = strdup(rmaps_node->nodename);
|
||||
|
||||
if (mca_pls_process_component.debug) {
|
||||
param = opal_argv_join(argv, ' ');
|
||||
if (NULL != param) {
|
||||
@ -777,10 +781,10 @@ int orte_pls_process_launch(orte_jobid_t jobid)
|
||||
}
|
||||
pid = _spawnve( _P_NOWAIT, exec_path, exec_argv, env);
|
||||
if (pid == -1) {
|
||||
/* indicate this daemon has been launched in case anyone is sitting on that trigger */
|
||||
if (ORTE_SUCCESS != (rc = orte_smr.set_proc_state(rmaps_node->daemon, ORTE_PROC_STATE_LAUNCHED, 0))) {
|
||||
ORTE_ERROR_LOG(rc);
|
||||
goto cleanup;
|
||||
/* indicate this daemon has been launched in case anyone is sitting on that trigger */
|
||||
if (ORTE_SUCCESS != (rc = orte_smr.set_proc_state(rmaps_node->daemon, ORTE_PROC_STATE_LAUNCHED, 0))) {
|
||||
ORTE_ERROR_LOG(rc);
|
||||
goto cleanup;
|
||||
}
|
||||
failed_launch = true;
|
||||
rc = ORTE_ERROR;
|
||||
@ -815,6 +819,9 @@ int orte_pls_process_launch(orte_jobid_t jobid)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* get here if launch went okay */
|
||||
failed_launch = false;
|
||||
|
||||
cleanup:
|
||||
if (NULL != map) {
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user