This source file includes following definitions.
- pmix_rte_finalize
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 
  20 
  21 
  22 
  23 
  24 
  25 
  26 
  27 #include <src/include/pmix_config.h>
  28 
  29 #include "src/class/pmix_object.h"
  30 #include "src/client/pmix_client_ops.h"
  31 #include "src/common/pmix_attributes.h"
  32 #include "src/util/output.h"
  33 #include "src/util/keyval_parse.h"
  34 #include "src/util/show_help.h"
  35 #include "src/mca/base/base.h"
  36 #include "src/mca/base/pmix_mca_base_var.h"
  37 #include "src/mca/bfrops/base/base.h"
  38 #include "src/mca/pcompress/base/base.h"
  39 #include "src/mca/gds/base/base.h"
  40 #include "src/mca/pif/base/base.h"
  41 #include "src/mca/pinstalldirs/base/base.h"
  42 #include "src/mca/plog/base/base.h"
  43 #include "src/mca/pnet/base/base.h"
  44 #include "src/mca/preg/base/base.h"
  45 #include "src/mca/psec/base/base.h"
  46 #include "src/mca/ptl/base/base.h"
  47 #include PMIX_EVENT_HEADER
  48 
  49 #include "src/runtime/pmix_rte.h"
  50 #include "src/runtime/pmix_progress_threads.h"
  51 
  52 extern int pmix_initialized;
  53 extern bool pmix_init_called;
  54 
  55 void pmix_rte_finalize(void)
  56 {
  57     int i;
  58     pmix_notify_caddy_t *cd;
  59 
  60     if( --pmix_initialized != 0 ) {
  61         if( pmix_initialized < 0 ) {
  62             fprintf(stderr, "PMIx Finalize called too many times\n");
  63             return;
  64         }
  65         return;
  66     }
  67 
  68     
  69     pmix_release_registered_attrs();
  70 
  71     
  72     (void)pmix_mca_base_framework_close(&pmix_plog_base_framework);
  73 
  74     
  75     (void)pmix_mca_base_framework_close(&pmix_preg_base_framework);
  76 
  77     
  78     (void)pmix_mca_base_framework_close(&pmix_ptl_base_framework);
  79 
  80     
  81     (void)pmix_mca_base_framework_close(&pmix_psec_base_framework);
  82 
  83     
  84     (void)pmix_mca_base_framework_close(&pmix_bfrops_base_framework);
  85 
  86     
  87     (void)pmix_mca_base_framework_close(&pmix_pcompress_base_framework);
  88 
  89     
  90     (void)pmix_mca_base_framework_close(&pmix_gds_base_framework);
  91 
  92     
  93     
  94     pmix_deregister_params();
  95     pmix_mca_base_var_finalize();
  96 
  97     
  98     pmix_util_keyval_parse_finalize();
  99 
 100     (void)pmix_mca_base_framework_close(&pmix_pinstalldirs_base_framework);
 101     (void)pmix_mca_base_framework_close(&pmix_pif_base_framework);
 102     (void)pmix_mca_base_close();
 103 
 104     
 105     pmix_show_help_finalize();
 106 
 107     
 108 
 109 
 110 
 111     pmix_output_finalize();
 112 
 113     
 114     PMIX_RELEASE(pmix_globals.mypeer);
 115     PMIX_DESTRUCT(&pmix_globals.events);
 116     PMIX_LIST_DESTRUCT(&pmix_globals.cached_events);
 117     
 118     for (i=0; i < pmix_globals.max_events; i++) {
 119         pmix_hotel_checkout_and_return_occupant(&pmix_globals.notifications, i, (void**)&cd);
 120         if (NULL != cd) {
 121             PMIX_RELEASE(cd);
 122         }
 123     }
 124     PMIX_DESTRUCT(&pmix_globals.notifications);
 125     PMIX_LIST_DESTRUCT(&pmix_globals.iof_requests);
 126     PMIX_LIST_DESTRUCT(&pmix_globals.stdin_targets);
 127 
 128     
 129     if (!pmix_globals.external_evbase) {
 130         (void)pmix_progress_thread_stop(NULL);
 131     }
 132 
 133 }