This source file includes following definitions.
- orte_schizo_base_register
- orte_schizo_base_close
- orte_schizo_base_open
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 #include "orte_config.h"
  13 #include "orte/constants.h"
  14 
  15 #include <string.h>
  16 
  17 #include "orte/mca/mca.h"
  18 #include "opal/util/argv.h"
  19 #include "opal/util/output.h"
  20 #include "opal/mca/base/base.h"
  21 
  22 #include "orte/runtime/orte_globals.h"
  23 #include "orte/util/show_help.h"
  24 #include "orte/mca/errmgr/errmgr.h"
  25 
  26 #include "orte/mca/schizo/base/base.h"
  27 
  28 
  29 
  30 
  31 
  32 
  33 #include "orte/mca/schizo/base/static-components.h"
  34 
  35 
  36 
  37 
  38 orte_schizo_base_t orte_schizo_base = {{{0}}};
  39 orte_schizo_base_module_t orte_schizo = {
  40     .define_cli = orte_schizo_base_define_cli,
  41     .parse_cli = orte_schizo_base_parse_cli,
  42     .parse_env = orte_schizo_base_parse_env,
  43     .setup_app = orte_schizo_base_setup_app,
  44     .setup_fork = orte_schizo_base_setup_fork,
  45     .setup_child = orte_schizo_base_setup_child,
  46     .check_launch_environment = orte_schizo_base_check_launch_environment,
  47     .get_remaining_time = orte_schizo_base_get_remaining_time,
  48     .finalize = orte_schizo_base_finalize
  49 };
  50 
  51 static char *personalities = NULL;
  52 
  53 static int orte_schizo_base_register(mca_base_register_flag_t flags)
  54 {
  55     
  56     personalities = NULL;
  57     mca_base_var_register("orte", "schizo", "base", "personalities",
  58                           "Comma-separated list of personalities",
  59                           MCA_BASE_VAR_TYPE_STRING, NULL, 0, 0,
  60                           OPAL_INFO_LVL_9,
  61                           MCA_BASE_VAR_SCOPE_READONLY,
  62                           &personalities);
  63     return ORTE_SUCCESS;
  64 }
  65 
  66 static int orte_schizo_base_close(void)
  67 {
  68     
  69     OPAL_LIST_DESTRUCT(&orte_schizo_base.active_modules);
  70     if (NULL != orte_schizo_base.personalities) {
  71         opal_argv_free(orte_schizo_base.personalities);
  72     }
  73 
  74     return mca_base_framework_components_close(&orte_schizo_base_framework, NULL);
  75 }
  76 
  77 
  78 
  79 
  80 
  81 static int orte_schizo_base_open(mca_base_open_flag_t flags)
  82 {
  83     int rc;
  84 
  85     
  86     OBJ_CONSTRUCT(&orte_schizo_base.active_modules, opal_list_t);
  87     orte_schizo_base.personalities = NULL;
  88     if (NULL != personalities) {
  89         orte_schizo_base.personalities = opal_argv_split(personalities, ',');
  90     }
  91 
  92     
  93     rc = mca_base_framework_components_open(&orte_schizo_base_framework, flags);
  94 
  95     
  96     return rc;
  97 }
  98 
  99 MCA_BASE_FRAMEWORK_DECLARE(orte, schizo, "ORTE Schizo Subsystem",
 100                            orte_schizo_base_register,
 101                            orte_schizo_base_open, orte_schizo_base_close,
 102                            mca_schizo_base_static_components, 0);
 103 
 104 OBJ_CLASS_INSTANCE(orte_schizo_base_active_module_t,
 105                    opal_list_item_t,
 106                    NULL, NULL);