1
1

Bring singleton comm_spawn online.

This commit was SVN r12081.
Этот коммит содержится в:
Ralph Castain 2006-10-10 23:59:48 +00:00
родитель f5b8f1f2f0
Коммит 1f7a5da3ce
2 изменённых файлов: 5 добавлений и 13 удалений

Просмотреть файл

@ -352,7 +352,7 @@ ompi_comm_start_processes(int count, char **array_of_commands,
char *base_prefix; char *base_prefix;
orte_std_cntr_t num_apps, ai; orte_std_cntr_t num_apps, ai;
orte_jobid_t new_jobid; orte_jobid_t new_jobid=ORTE_JOBID_INVALID;
orte_app_context_t **apps=NULL; orte_app_context_t **apps=NULL;
@ -383,8 +383,11 @@ ompi_comm_start_processes(int count, char **array_of_commands,
/* we'll just use the prefix from the first member of the app_context array. /* we'll just use the prefix from the first member of the app_context array.
* this shouldn't matter as they all should be the same. it could be NULL, of * this shouldn't matter as they all should be the same. it could be NULL, of
* course (user might not have specified it), so we need to protect against that. * course (user might not have specified it), so we need to protect against that.
*
* It's possible that no app_contexts are returned (e.g., during a comm_spawn
* from a singleton), so check first
*/ */
if (NULL != apps[0]->prefix_dir) { if (NULL != apps && NULL != apps[0]->prefix_dir) {
base_prefix = strdup(apps[0]->prefix_dir); base_prefix = strdup(apps[0]->prefix_dir);
} else { } else {
base_prefix = NULL; base_prefix = NULL;

Просмотреть файл

@ -68,17 +68,6 @@ int MPI_Comm_spawn(char *command, char **argv, int maxprocs, MPI_Info info,
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INFO, return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INFO,
FUNC_NAME); FUNC_NAME);
} }
/* Do not allow MPI_COMM_SPAWN from a singleton. This check
will be removed when the ORTE 2.0 stuff comes over and
Makes This All Better(tm) */
if (orte_process_info.singleton) {
if (ompi_comm_rank(comm) == root) {
opal_show_help("help-mpi-api.txt", "spawn-from-singleton",
true, FUNC_NAME);
}
return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_ARG, FUNC_NAME);
}
} }
rank = ompi_comm_rank ( comm ); rank = ompi_comm_rank ( comm );