diff --git a/src/mca/oob/base/base.h b/src/mca/oob/base/base.h index e8ff48a39d..a39292f505 100644 --- a/src/mca/oob/base/base.h +++ b/src/mca/oob/base/base.h @@ -75,16 +75,15 @@ extern "C" { #endif /** -* Obtains the contact info (oob implementation specific) URI strings through -* which this process can be contacted on an OOB channel. +* Returns a null terminated character string returning contact info +* for all supported OOB channels. * -* @return A null terminated array of strings. +* @return A null terminated string. * -* The caller is responsible for freeing both the array and the strings that -* it points to. +* The caller is responsible for freeing the returned string. */ -char** mca_oob_get_contact_info(void); +char* mca_oob_get_contact_info(void); /** * Similiar to unix writev(2). diff --git a/src/mca/oob/base/oob_base_init.c b/src/mca/oob/base/oob_base_init.c index b84cce7e97..f192f7f85b 100644 --- a/src/mca/oob/base/oob_base_init.c +++ b/src/mca/oob/base/oob_base_init.c @@ -107,16 +107,12 @@ int mca_oob_base_init(bool *user_threads, bool *hidden_threads) * Obtains the contact info (oob implementation specific) URI strings through * which this process can be contacted on an OOB channel. * -* @return A null terminated array of strings. +* @return A null terminated string. * -* The caller is responsible for freeing both the array and the strings that -* it points to. +* The caller is responsible for freeing the returned string. */ -char** mca_oob_get_contact_info() +char* mca_oob_get_contact_info() { - char** contact_info = malloc(sizeof(char*) * (ompi_list_get_size(&mca_oob_base_modules)+1)); - contact_info[0] = strdup("tcp:localhost:5000"); - contact_info[1] = NULL; - return contact_info; + return strdup("tcp:localhost:5000"); }