Index: opal/mca/base/mca_base_components_open.c =================================================================== --- opal/mca/base/mca_base_components_open.c (revision 18380) +++ opal/mca/base/mca_base_components_open.c (working copy) @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana + * Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana * University Research and Technology * Corporation. All rights reserved. * Copyright (c) 2004-2007 The University of Tennessee and The University @@ -81,6 +81,7 @@ int param_verbose = -1; int param_type = -1; int verbose_level; + int c_itr = 0; char *str; bool include_mode; #if (OPAL_ENABLE_FT == 1) && (OPAL_ENABLE_FT_CR == 1) @@ -123,6 +124,24 @@ return ret; } + /* Check for MCA-NULL - Open nothing */ + for(c_itr = 0; c_itr < opal_argv_count(requested_component_names); ++c_itr) { + if ( 0 == strncmp(requested_component_names[c_itr], "MCA-NULL", strlen("MCA-NULL")) ) { + opal_output_verbose(10, output_id, + "mca: base: components_open: Not opening any %s components. MCA-NULL keyword specified.", + type_name); + /* Make sure to construct the available list so upper level can + * use it as an empty list */ + OBJ_CONSTRUCT(components_available, opal_list_t); + + if (NULL != requested_component_names) { + opal_argv_free(requested_component_names); + } + + return OPAL_SUCCESS; + } + } + /* Find and load requested components */ if (OPAL_SUCCESS != mca_base_component_find(NULL, type_name, static_components,