From 502cc0747fdbd0a7cbf76c41a9ac953f4862eb62 Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Tue, 17 May 2011 20:12:31 +0000 Subject: [PATCH] My my...cleanup a disconnect between the man pages and how we implemented comm_spawn_multiple. We allow an info key per executable. Also fix the -host and -add-host info keys - they are supposed to accept comma-separated lists. This commit was SVN r24706. --- ompi/mca/dpm/orte/dpm_orte.c | 4 ++-- ompi/mpi/man/man3/MPI_Comm_spawn_multiple.3in | 20 ++++++++----------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/ompi/mca/dpm/orte/dpm_orte.c b/ompi/mca/dpm/orte/dpm_orte.c index 0b4ac602b6..0a493b3e6b 100644 --- a/ompi/mca/dpm/orte/dpm_orte.c +++ b/ompi/mca/dpm/orte/dpm_orte.c @@ -684,7 +684,7 @@ static int spawn(int count, char **array_of_commands, /* check for 'host' */ ompi_info_get (array_of_info[i], "host", sizeof(host) - 1, host, &flag); if ( flag ) { - opal_argv_append_nosize(&app->dash_host, host); + app->dash_host = opal_argv_split(host, ','); } /* check for 'hostfile' */ @@ -702,7 +702,7 @@ static int spawn(int count, char **array_of_commands, /* check for 'add-host' */ ompi_info_get (array_of_info[i], "add-host", sizeof(host) - 1, host, &flag); if ( flag ) { - opal_argv_append_nosize(&app->add_host, host); + app->add_host = opal_argv_split(host, ','); } /* 'path', 'arch', 'file', 'soft' -- to be implemented */ diff --git a/ompi/mpi/man/man3/MPI_Comm_spawn_multiple.3in b/ompi/mpi/man/man3/MPI_Comm_spawn_multiple.3in index 338da60c7e..078e712c1d 100644 --- a/ompi/mpi/man/man3/MPI_Comm_spawn_multiple.3in +++ b/ompi/mpi/man/man3/MPI_Comm_spawn_multiple.3in @@ -83,12 +83,8 @@ MPI_Comm_spawn_multiple is identical to MPI_Comm_spawn(3) except that it can specify multiple executables. The first argument, \fIcount\fP, indicates the number of executables. The next three arguments are arrays of the corresponding arguments in MPI_Comm_spawn(3). The next -argument, \fIarray_of_info\fP, is an array of \fIinfo\fP arguments; -however, only the first argument in that array is used. Any -subsequent arguments in the array are ignored because an \fIinfo\fP -argument applies to the entire job that is spawned, and cannot be -different for each executable in the job. See the INFO ARGUMENTS -section for more information. +argument, \fIarray_of_info\fP, is an array of \fIinfo\fP arguments, one +for each executable. See the INFO ARGUMENTS section for more information. .sp For the Fortran version of \fIarray_of_argv\fP, the element \fIarray_of_argv\fP(i,j) is the jth argument to command number i. .sp @@ -125,18 +121,18 @@ The following keys for \fIinfo\fP are recognized in "#PACKAGE_NAME#". (The reser Key Type Description --- ---- ----------- -host char * Host on which the process should be - spawned. See the \fIorte_host\fP man - page for an explanation of how this - will be used. +host char * Comma-separated list of hosts on which + the processes should be spawned. See + the \fIorte_host\fP man page for an + explanation of how this will be used. hostfile char * Hostfile containing the hosts on which the processes are to be spawned. See the \fIorte_hostfile\fP man page for an explanation of how this will be used. -add-host char * Add the specified host to the list of +add-host char * Add the specified hosts to the list of hosts known to this job and use it for - the associated process. This will be + the associated processes. This will be used similarly to the -host option. add-hostfile char * Hostfile containing hosts to be added to the list of hosts known to this job