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.
Этот коммит содержится в:
родитель
cc905290e4
Коммит
6f7adfe231
@ -9,6 +9,7 @@
|
|||||||
* University of Stuttgart. All rights reserved.
|
* University of Stuttgart. All rights reserved.
|
||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -30,6 +31,16 @@
|
|||||||
int mca_oob_base_close(void)
|
int mca_oob_base_close(void)
|
||||||
{
|
{
|
||||||
opal_list_item_t* item;
|
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 */
|
/* Finalize all the oob modules and free their list items */
|
||||||
for (item = opal_list_remove_first(&mca_oob_base_modules);
|
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);
|
free(mca_oob_base_exclude);
|
||||||
|
|
||||||
/* All done */
|
/* All done */
|
||||||
|
already_closed = true;
|
||||||
return ORTE_SUCCESS;
|
return ORTE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
* University of Stuttgart. All rights reserved.
|
* University of Stuttgart. All rights reserved.
|
||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -57,6 +58,15 @@ int mca_oob_base_open(void)
|
|||||||
{
|
{
|
||||||
int param, value;
|
int param, value;
|
||||||
char *mode;
|
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 */
|
/* Open up all available components */
|
||||||
|
|
||||||
@ -110,6 +120,7 @@ int mca_oob_base_open(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* All done */
|
/* All done */
|
||||||
|
already_opened = true;
|
||||||
return ORTE_SUCCESS;
|
return ORTE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user