1
1

Fix for the oob base open and close functions being invoked twice by

ompi_info -- once directly and once via the rml oob component.

This commit was SVN r13152.
Этот коммит содержится в:
Jeff Squyres 2007-01-17 15:18:13 +00:00
родитель cc905290e4
Коммит 6f7adfe231
2 изменённых файлов: 23 добавлений и 0 удалений

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

@ -9,6 +9,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -30,6 +31,16 @@
int mca_oob_base_close(void)
{
opal_list_item_t* item;
static bool already_closed = false;
/* Sanity check. This may be able to be removed when the rml/oob
interface is re-worked (the current infrastructure may invoke
this function twice: once as a standalone, and once via the rml
oob component). */
if (already_closed) {
return ORTE_SUCCESS;
}
/* Finalize all the oob modules and free their list items */
for (item = opal_list_remove_first(&mca_oob_base_modules);
@ -55,6 +66,7 @@ int mca_oob_base_close(void)
free(mca_oob_base_exclude);
/* All done */
already_closed = true;
return ORTE_SUCCESS;
}

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

@ -9,6 +9,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -57,6 +58,15 @@ int mca_oob_base_open(void)
{
int param, value;
char *mode;
static bool already_opened = false;
/* Sanity check. This may be able to be removed when the rml/oob
interface is re-worked (the current infrastructure may invoke
this function twice: once as a standalone, and once via the rml
oob component). */
if (already_opened) {
return ORTE_SUCCESS;
}
/* Open up all available components */
@ -110,6 +120,7 @@ int mca_oob_base_open(void)
}
/* All done */
already_opened = true;
return ORTE_SUCCESS;
}