2004-07-01 14:49:54 +00:00
|
|
|
/*
|
|
|
|
* $HEADER$
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "ompi_config.h"
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
#include "runtime/runtime.h"
|
|
|
|
#include "util/output.h"
|
2004-08-16 19:39:54 +00:00
|
|
|
#include "util/proc_info.h"
|
2004-08-26 07:56:45 +00:00
|
|
|
#include "util/argv.h"
|
2004-07-01 14:49:54 +00:00
|
|
|
#include "mca/mca.h"
|
|
|
|
#include "mca/base/base.h"
|
2004-08-17 22:24:17 +00:00
|
|
|
#include "mca/pcmclient/pcmclient.h"
|
|
|
|
#include "mca/pcmclient/base/base.h"
|
2004-08-13 15:09:24 +00:00
|
|
|
#include "mca/ns/base/base.h"
|
2004-07-01 14:49:54 +00:00
|
|
|
#include "mca/pcm/pcm.h"
|
|
|
|
#include "mca/oob/oob.h"
|
|
|
|
#include "mca/oob/base/base.h"
|
|
|
|
|
|
|
|
|
|
|
|
OBJ_CLASS_INSTANCE(
|
2004-08-02 21:24:00 +00:00
|
|
|
mca_oob_t,
|
2004-07-01 14:49:54 +00:00
|
|
|
ompi_list_item_t,
|
|
|
|
NULL,
|
|
|
|
NULL
|
|
|
|
);
|
2004-08-18 15:51:40 +00:00
|
|
|
|
2004-08-02 00:24:22 +00:00
|
|
|
OBJ_CLASS_INSTANCE(
|
|
|
|
mca_oob_base_info_t,
|
|
|
|
ompi_list_item_t,
|
|
|
|
NULL,
|
|
|
|
NULL
|
|
|
|
);
|
2004-07-01 14:49:54 +00:00
|
|
|
|
Not as bad as this all may look. Tim and I made a significant change to the way we handle the startup of the oob, the seed, etc. We have made it backwards-compatible so that mpirun2 and singleton operations remain working. We had to adjust the name server and gpr as well, plus the process_info structure.
This also includes a checkpoint update to openmpi.c and ompid.c. I have re-enabled the ompid compile.
This latter raises an important point. The trunk compiles the programs like ompid just fine under Linux. It also does just fine for OSX under the dynamic libraries. However, we are seeing errors when compiling under OSX for the static case - the linker seems to have trouble resolving some variable names, even though linker diagnostics show the variables as being defined. Thus, a warning to Mac users that you may have to locally turn things off if you are trying to do static compiles. We ask, however, that you don't commit those changes that turn things off for everyone else - instead, let's try to figure out why the static compile is having a problem, and let everyone else continue to work.
Thanks
Ralph
This commit was SVN r2534.
2004-09-08 03:59:06 +00:00
|
|
|
ompi_process_name_t mca_oob_name_self = { MCA_NS_BASE_CELLID_MAX, MCA_NS_BASE_JOBID_MAX, MCA_NS_BASE_VPID_MAX };
|
2004-09-09 14:41:22 +00:00
|
|
|
ompi_process_name_t mca_oob_name_seed = { 0, 0, 0 };
|
2004-08-25 17:39:08 +00:00
|
|
|
ompi_process_name_t mca_oob_name_any = { MCA_NS_BASE_CELLID_MAX, MCA_NS_BASE_JOBID_MAX, MCA_NS_BASE_VPID_MAX };
|
2004-07-01 14:49:54 +00:00
|
|
|
|
2004-08-16 19:39:54 +00:00
|
|
|
/**
|
|
|
|
* Parse contact info string into process name and list of uri strings.
|
|
|
|
*/
|
|
|
|
|
Not as bad as this all may look. Tim and I made a significant change to the way we handle the startup of the oob, the seed, etc. We have made it backwards-compatible so that mpirun2 and singleton operations remain working. We had to adjust the name server and gpr as well, plus the process_info structure.
This also includes a checkpoint update to openmpi.c and ompid.c. I have re-enabled the ompid compile.
This latter raises an important point. The trunk compiles the programs like ompid just fine under Linux. It also does just fine for OSX under the dynamic libraries. However, we are seeing errors when compiling under OSX for the static case - the linker seems to have trouble resolving some variable names, even though linker diagnostics show the variables as being defined. Thus, a warning to Mac users that you may have to locally turn things off if you are trying to do static compiles. We ask, however, that you don't commit those changes that turn things off for everyone else - instead, let's try to figure out why the static compile is having a problem, and let everyone else continue to work.
Thanks
Ralph
This commit was SVN r2534.
2004-09-08 03:59:06 +00:00
|
|
|
int mca_oob_parse_contact_info(
|
|
|
|
const char* contact_info,
|
2004-08-16 19:39:54 +00:00
|
|
|
ompi_process_name_t* name,
|
|
|
|
char*** uri)
|
|
|
|
{
|
Not as bad as this all may look. Tim and I made a significant change to the way we handle the startup of the oob, the seed, etc. We have made it backwards-compatible so that mpirun2 and singleton operations remain working. We had to adjust the name server and gpr as well, plus the process_info structure.
This also includes a checkpoint update to openmpi.c and ompid.c. I have re-enabled the ompid compile.
This latter raises an important point. The trunk compiles the programs like ompid just fine under Linux. It also does just fine for OSX under the dynamic libraries. However, we are seeing errors when compiling under OSX for the static case - the linker seems to have trouble resolving some variable names, even though linker diagnostics show the variables as being defined. Thus, a warning to Mac users that you may have to locally turn things off if you are trying to do static compiles. We ask, however, that you don't commit those changes that turn things off for everyone else - instead, let's try to figure out why the static compile is having a problem, and let everyone else continue to work.
Thanks
Ralph
This commit was SVN r2534.
2004-09-08 03:59:06 +00:00
|
|
|
ompi_process_name_t* proc_name;
|
|
|
|
|
2004-08-16 19:39:54 +00:00
|
|
|
/* parse the process name */
|
Not as bad as this all may look. Tim and I made a significant change to the way we handle the startup of the oob, the seed, etc. We have made it backwards-compatible so that mpirun2 and singleton operations remain working. We had to adjust the name server and gpr as well, plus the process_info structure.
This also includes a checkpoint update to openmpi.c and ompid.c. I have re-enabled the ompid compile.
This latter raises an important point. The trunk compiles the programs like ompid just fine under Linux. It also does just fine for OSX under the dynamic libraries. However, we are seeing errors when compiling under OSX for the static case - the linker seems to have trouble resolving some variable names, even though linker diagnostics show the variables as being defined. Thus, a warning to Mac users that you may have to locally turn things off if you are trying to do static compiles. We ask, however, that you don't commit those changes that turn things off for everyone else - instead, let's try to figure out why the static compile is having a problem, and let everyone else continue to work.
Thanks
Ralph
This commit was SVN r2534.
2004-09-08 03:59:06 +00:00
|
|
|
char* cinfo = strdup(contact_info);
|
2004-08-24 16:54:45 +00:00
|
|
|
char* ptr = strchr(contact_info, ';');
|
Not as bad as this all may look. Tim and I made a significant change to the way we handle the startup of the oob, the seed, etc. We have made it backwards-compatible so that mpirun2 and singleton operations remain working. We had to adjust the name server and gpr as well, plus the process_info structure.
This also includes a checkpoint update to openmpi.c and ompid.c. I have re-enabled the ompid compile.
This latter raises an important point. The trunk compiles the programs like ompid just fine under Linux. It also does just fine for OSX under the dynamic libraries. However, we are seeing errors when compiling under OSX for the static case - the linker seems to have trouble resolving some variable names, even though linker diagnostics show the variables as being defined. Thus, a warning to Mac users that you may have to locally turn things off if you are trying to do static compiles. We ask, however, that you don't commit those changes that turn things off for everyone else - instead, let's try to figure out why the static compile is having a problem, and let everyone else continue to work.
Thanks
Ralph
This commit was SVN r2534.
2004-09-08 03:59:06 +00:00
|
|
|
if(NULL == ptr) {
|
|
|
|
free(cinfo);
|
2004-08-16 19:39:54 +00:00
|
|
|
return OMPI_ERR_BAD_PARAM;
|
Not as bad as this all may look. Tim and I made a significant change to the way we handle the startup of the oob, the seed, etc. We have made it backwards-compatible so that mpirun2 and singleton operations remain working. We had to adjust the name server and gpr as well, plus the process_info structure.
This also includes a checkpoint update to openmpi.c and ompid.c. I have re-enabled the ompid compile.
This latter raises an important point. The trunk compiles the programs like ompid just fine under Linux. It also does just fine for OSX under the dynamic libraries. However, we are seeing errors when compiling under OSX for the static case - the linker seems to have trouble resolving some variable names, even though linker diagnostics show the variables as being defined. Thus, a warning to Mac users that you may have to locally turn things off if you are trying to do static compiles. We ask, however, that you don't commit those changes that turn things off for everyone else - instead, let's try to figure out why the static compile is having a problem, and let everyone else continue to work.
Thanks
Ralph
This commit was SVN r2534.
2004-09-08 03:59:06 +00:00
|
|
|
}
|
2004-08-16 19:39:54 +00:00
|
|
|
*ptr = '\0';
|
|
|
|
ptr++;
|
Not as bad as this all may look. Tim and I made a significant change to the way we handle the startup of the oob, the seed, etc. We have made it backwards-compatible so that mpirun2 and singleton operations remain working. We had to adjust the name server and gpr as well, plus the process_info structure.
This also includes a checkpoint update to openmpi.c and ompid.c. I have re-enabled the ompid compile.
This latter raises an important point. The trunk compiles the programs like ompid just fine under Linux. It also does just fine for OSX under the dynamic libraries. However, we are seeing errors when compiling under OSX for the static case - the linker seems to have trouble resolving some variable names, even though linker diagnostics show the variables as being defined. Thus, a warning to Mac users that you may have to locally turn things off if you are trying to do static compiles. We ask, however, that you don't commit those changes that turn things off for everyone else - instead, let's try to figure out why the static compile is having a problem, and let everyone else continue to work.
Thanks
Ralph
This commit was SVN r2534.
2004-09-08 03:59:06 +00:00
|
|
|
proc_name = ns_base_convert_string_to_process_name(contact_info);
|
|
|
|
*name = *proc_name;
|
|
|
|
free(proc_name);
|
2004-08-16 19:39:54 +00:00
|
|
|
|
Not as bad as this all may look. Tim and I made a significant change to the way we handle the startup of the oob, the seed, etc. We have made it backwards-compatible so that mpirun2 and singleton operations remain working. We had to adjust the name server and gpr as well, plus the process_info structure.
This also includes a checkpoint update to openmpi.c and ompid.c. I have re-enabled the ompid compile.
This latter raises an important point. The trunk compiles the programs like ompid just fine under Linux. It also does just fine for OSX under the dynamic libraries. However, we are seeing errors when compiling under OSX for the static case - the linker seems to have trouble resolving some variable names, even though linker diagnostics show the variables as being defined. Thus, a warning to Mac users that you may have to locally turn things off if you are trying to do static compiles. We ask, however, that you don't commit those changes that turn things off for everyone else - instead, let's try to figure out why the static compile is having a problem, and let everyone else continue to work.
Thanks
Ralph
This commit was SVN r2534.
2004-09-08 03:59:06 +00:00
|
|
|
if (NULL != uri) {
|
|
|
|
/* parse the remainder of the string into an array of uris */
|
|
|
|
*uri = ompi_argv_split(ptr, ';');
|
|
|
|
}
|
|
|
|
free(cinfo);
|
2004-08-16 19:39:54 +00:00
|
|
|
return OMPI_SUCCESS;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2004-07-01 14:49:54 +00:00
|
|
|
/**
|
|
|
|
* Function for selecting one module from all those that are
|
|
|
|
* available.
|
|
|
|
*
|
|
|
|
* Call the init function on all available modules.
|
|
|
|
*/
|
|
|
|
int mca_oob_base_init(bool *user_threads, bool *hidden_threads)
|
|
|
|
{
|
|
|
|
ompi_list_item_t *item;
|
2004-08-02 00:24:22 +00:00
|
|
|
mca_base_component_list_item_t *cli;
|
2004-07-01 14:49:54 +00:00
|
|
|
mca_oob_base_component_t *component;
|
2004-08-02 21:24:00 +00:00
|
|
|
mca_oob_t *module;
|
2004-08-02 00:24:22 +00:00
|
|
|
extern ompi_list_t mca_oob_base_components;
|
2004-08-28 01:15:19 +00:00
|
|
|
mca_oob_t *s_module = NULL;
|
|
|
|
bool s_user_threads;
|
|
|
|
bool s_hidden_threads;
|
|
|
|
int s_priority = -1;
|
2004-07-01 14:49:54 +00:00
|
|
|
|
2004-08-18 15:51:40 +00:00
|
|
|
char** include = ompi_argv_split(mca_oob_base_include, ',');
|
|
|
|
char** exclude = ompi_argv_split(mca_oob_base_exclude, ',');
|
|
|
|
|
2004-07-01 14:49:54 +00:00
|
|
|
/* Traverse the list of available modules; call their init functions. */
|
|
|
|
for (item = ompi_list_get_first(&mca_oob_base_components);
|
|
|
|
item != ompi_list_get_end(&mca_oob_base_components);
|
|
|
|
item = ompi_list_get_next(item)) {
|
2004-08-02 00:24:22 +00:00
|
|
|
mca_oob_base_info_t *inited;
|
2004-07-01 14:49:54 +00:00
|
|
|
|
2004-08-02 00:24:22 +00:00
|
|
|
cli = (mca_base_component_list_item_t *) item;
|
|
|
|
component = (mca_oob_base_component_t *) cli->cli_component;
|
2004-07-01 14:49:54 +00:00
|
|
|
|
2004-08-18 15:51:40 +00:00
|
|
|
/* if there is an include list - item must be in the list to be included */
|
|
|
|
if ( NULL != include ) {
|
|
|
|
char** argv = include;
|
|
|
|
bool found = false;
|
|
|
|
while(argv && *argv) {
|
|
|
|
if(strcmp(component->oob_base.mca_component_name,*argv) == 0) {
|
|
|
|
found = true;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
argv++;
|
|
|
|
}
|
|
|
|
if(found == false) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* otherwise - check the exclude list to see if this item has been specifically excluded */
|
|
|
|
} else if ( NULL != exclude ) {
|
|
|
|
char** argv = exclude;
|
|
|
|
bool found = false;
|
|
|
|
while(argv && *argv) {
|
|
|
|
if(strcmp(component->oob_base.mca_component_name,*argv) == 0) {
|
|
|
|
found = true;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
argv++;
|
|
|
|
}
|
|
|
|
if(found == true) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2004-07-01 14:49:54 +00:00
|
|
|
if (NULL == component->oob_init) {
|
|
|
|
ompi_output_verbose(10, mca_oob_base_output, "mca_oob_base_init: no init function; ignoring component");
|
|
|
|
} else {
|
2004-08-28 01:15:19 +00:00
|
|
|
int priority = -1;
|
|
|
|
bool u_threads;
|
|
|
|
bool h_threads;
|
|
|
|
module = component->oob_init(&priority, &u_threads, &h_threads);
|
|
|
|
if (NULL != module) {
|
|
|
|
inited = OBJ_NEW(mca_oob_base_info_t);
|
|
|
|
inited->oob_component = component;
|
|
|
|
inited->oob_module = module;
|
|
|
|
ompi_list_append(&mca_oob_base_modules, &inited->super);
|
|
|
|
|
|
|
|
/* setup highest priority oob channel */
|
|
|
|
if(priority > s_priority) {
|
|
|
|
s_priority = priority;
|
|
|
|
s_module = module;
|
|
|
|
s_user_threads = u_threads;
|
|
|
|
s_hidden_threads = h_threads;
|
|
|
|
}
|
2004-07-01 14:49:54 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/* set the global variable to point to the first initialize module */
|
2004-08-28 01:15:19 +00:00
|
|
|
if(s_module == NULL) {
|
|
|
|
ompi_output(0, "mca_oob_base_init: no OOB modules available\n");
|
2004-07-13 04:42:34 +00:00
|
|
|
return OMPI_ERROR;
|
2004-08-28 01:15:19 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
mca_oob = *s_module;
|
|
|
|
*user_threads &= s_user_threads;
|
|
|
|
*hidden_threads |= s_hidden_threads;
|
|
|
|
return OMPI_SUCCESS;
|
2004-07-01 14:49:54 +00:00
|
|
|
}
|
|
|
|
|
2004-08-10 22:11:31 +00:00
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Obtains the contact info (oob implementation specific) URI strings through
|
|
|
|
* which this process can be contacted on an OOB channel.
|
|
|
|
*
|
2004-08-10 22:30:21 +00:00
|
|
|
* @return A null terminated string.
|
2004-08-10 22:11:31 +00:00
|
|
|
*
|
2004-08-10 22:30:21 +00:00
|
|
|
* The caller is responsible for freeing the returned string.
|
2004-08-10 22:11:31 +00:00
|
|
|
*/
|
|
|
|
|
2004-08-10 22:30:21 +00:00
|
|
|
char* mca_oob_get_contact_info()
|
2004-08-10 22:11:31 +00:00
|
|
|
{
|
2004-08-16 19:39:54 +00:00
|
|
|
char *proc_name = ns_base_get_proc_name_string(MCA_OOB_NAME_SELF);
|
|
|
|
char *proc_addr = mca_oob.oob_get_addr();
|
|
|
|
size_t size = strlen(proc_name) + 1 + strlen(proc_addr) + 1;
|
|
|
|
char *contact_info = malloc(size);
|
2004-08-24 16:54:45 +00:00
|
|
|
sprintf(contact_info, "%s;%s", proc_name, proc_addr);
|
2004-08-16 19:39:54 +00:00
|
|
|
free(proc_name);
|
|
|
|
free(proc_addr);
|
|
|
|
return contact_info;
|
2004-08-10 22:11:31 +00:00
|
|
|
}
|
2004-08-16 19:39:54 +00:00
|
|
|
|
2004-08-24 16:54:45 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Setup the contact information for the seed daemon - which
|
|
|
|
* is passed as an MCA parameter.
|
|
|
|
*
|
|
|
|
* @param seed
|
|
|
|
*/
|
|
|
|
|
Not as bad as this all may look. Tim and I made a significant change to the way we handle the startup of the oob, the seed, etc. We have made it backwards-compatible so that mpirun2 and singleton operations remain working. We had to adjust the name server and gpr as well, plus the process_info structure.
This also includes a checkpoint update to openmpi.c and ompid.c. I have re-enabled the ompid compile.
This latter raises an important point. The trunk compiles the programs like ompid just fine under Linux. It also does just fine for OSX under the dynamic libraries. However, we are seeing errors when compiling under OSX for the static case - the linker seems to have trouble resolving some variable names, even though linker diagnostics show the variables as being defined. Thus, a warning to Mac users that you may have to locally turn things off if you are trying to do static compiles. We ask, however, that you don't commit those changes that turn things off for everyone else - instead, let's try to figure out why the static compile is having a problem, and let everyone else continue to work.
Thanks
Ralph
This commit was SVN r2534.
2004-09-08 03:59:06 +00:00
|
|
|
int mca_oob_set_contact_info(const char* contact_info)
|
2004-08-24 16:54:45 +00:00
|
|
|
{
|
Not as bad as this all may look. Tim and I made a significant change to the way we handle the startup of the oob, the seed, etc. We have made it backwards-compatible so that mpirun2 and singleton operations remain working. We had to adjust the name server and gpr as well, plus the process_info structure.
This also includes a checkpoint update to openmpi.c and ompid.c. I have re-enabled the ompid compile.
This latter raises an important point. The trunk compiles the programs like ompid just fine under Linux. It also does just fine for OSX under the dynamic libraries. However, we are seeing errors when compiling under OSX for the static case - the linker seems to have trouble resolving some variable names, even though linker diagnostics show the variables as being defined. Thus, a warning to Mac users that you may have to locally turn things off if you are trying to do static compiles. We ask, however, that you don't commit those changes that turn things off for everyone else - instead, let's try to figure out why the static compile is having a problem, and let everyone else continue to work.
Thanks
Ralph
This commit was SVN r2534.
2004-09-08 03:59:06 +00:00
|
|
|
ompi_process_name_t name;
|
|
|
|
char** uri;
|
|
|
|
char** ptr;
|
|
|
|
int rc = mca_oob_parse_contact_info(contact_info, &name, &uri);
|
|
|
|
if(rc != OMPI_SUCCESS)
|
|
|
|
return rc;
|
|
|
|
|
|
|
|
for(ptr = uri; ptr != NULL && *ptr != NULL; ptr++) {
|
|
|
|
ompi_list_item_t* item;
|
|
|
|
for (item = ompi_list_get_first(&mca_oob_base_modules);
|
|
|
|
item != ompi_list_get_end(&mca_oob_base_modules);
|
|
|
|
item = ompi_list_get_next(item)) {
|
|
|
|
mca_oob_base_info_t* base = (mca_oob_base_info_t *) item;
|
|
|
|
if (strncmp(base->oob_component->oob_base.mca_component_name, *ptr,
|
|
|
|
strlen(base->oob_component->oob_base.mca_component_name)) == 0)
|
|
|
|
base->oob_module->oob_set_addr(&name, *ptr);
|
|
|
|
}
|
|
|
|
}
|
2004-08-28 01:15:19 +00:00
|
|
|
|
Not as bad as this all may look. Tim and I made a significant change to the way we handle the startup of the oob, the seed, etc. We have made it backwards-compatible so that mpirun2 and singleton operations remain working. We had to adjust the name server and gpr as well, plus the process_info structure.
This also includes a checkpoint update to openmpi.c and ompid.c. I have re-enabled the ompid compile.
This latter raises an important point. The trunk compiles the programs like ompid just fine under Linux. It also does just fine for OSX under the dynamic libraries. However, we are seeing errors when compiling under OSX for the static case - the linker seems to have trouble resolving some variable names, even though linker diagnostics show the variables as being defined. Thus, a warning to Mac users that you may have to locally turn things off if you are trying to do static compiles. We ask, however, that you don't commit those changes that turn things off for everyone else - instead, let's try to figure out why the static compile is having a problem, and let everyone else continue to work.
Thanks
Ralph
This commit was SVN r2534.
2004-09-08 03:59:06 +00:00
|
|
|
if(uri != NULL) {
|
|
|
|
ompi_argv_free(uri);
|
|
|
|
}
|
|
|
|
return OMPI_SUCCESS;
|
2004-08-28 01:15:19 +00:00
|
|
|
}
|
|
|
|
|
2004-08-19 19:34:37 +00:00
|
|
|
/**
|
|
|
|
* Called to request the selected oob components to
|
|
|
|
* register their address with the seed deamon.
|
|
|
|
*/
|
|
|
|
|
2004-08-25 17:39:08 +00:00
|
|
|
int mca_oob_base_module_init(void)
|
2004-08-19 19:34:37 +00:00
|
|
|
{
|
|
|
|
ompi_list_item_t* item;
|
|
|
|
|
2004-08-25 17:39:08 +00:00
|
|
|
/* setup self to point to actual process name */
|
2004-08-28 01:15:19 +00:00
|
|
|
mca_oob_name_self = *mca_pcmclient.pcmclient_get_self();
|
2004-08-25 17:39:08 +00:00
|
|
|
|
2004-08-19 19:34:37 +00:00
|
|
|
/* Initialize all modules after oob/gpr/ns have initialized */
|
|
|
|
for (item = ompi_list_get_first(&mca_oob_base_modules);
|
|
|
|
item != ompi_list_get_end(&mca_oob_base_modules);
|
|
|
|
item = ompi_list_get_next(item)) {
|
|
|
|
mca_oob_base_info_t* base = (mca_oob_base_info_t *) item;
|
|
|
|
if (NULL != base->oob_module->oob_init)
|
|
|
|
base->oob_module->oob_init();
|
|
|
|
}
|
2004-09-09 23:28:41 +00:00
|
|
|
|
|
|
|
/* TSW - this is a temporary hack for standalone singletons */
|
|
|
|
if(memcmp(&mca_oob_name_self, &mca_oob_name_any, sizeof(struct ompi_process_name_t)) == 0) {
|
|
|
|
mca_oob_name_self = *ompi_name_server.create_process_name(0,1,0);
|
|
|
|
}
|
2004-08-19 19:34:37 +00:00
|
|
|
return OMPI_SUCCESS;
|
|
|
|
}
|