static pmix_status_t pmix_ptl_close(void) { if (!pmix_ptl_globals.initialized) { return PMIX_SUCCESS; } pmix_ptl_globals.initialized = false; /* ensure the listen thread has been shut down */ pmix_ptl_base_stop_listening(); if (NULL != pmix_client_globals.myserver) { if (0 <= pmix_client_globals.myserver->sd) { CLOSE_THE_SOCKET(pmix_client_globals.myserver->sd); pmix_client_globals.myserver->sd = -1; } } /* the components will cleanup when closed */ PMIX_LIST_DESTRUCT(&pmix_ptl_globals.actives); PMIX_LIST_DESTRUCT(&pmix_ptl_globals.posted_recvs); PMIX_LIST_DESTRUCT(&pmix_ptl_globals.unexpected_msgs); PMIX_LIST_DESTRUCT(&pmix_ptl_globals.listeners); return pmix_mca_base_framework_components_close(&pmix_ptl_base_framework, NULL); }
static pmix_status_t pmix_pshmem_close(void) { if (!initialized) { return PMIX_SUCCESS; } initialized = false; return pmix_mca_base_framework_components_close(&pmix_pshmem_base_framework, NULL); }
static pmix_status_t pmix_bfrop_close(void) { if (!pmix_bfrops_globals.initialized) { return PMIX_SUCCESS; } pmix_bfrops_globals.initialized = false; /* the components will cleanup when closed */ PMIX_DESTRUCT(&pmix_bfrops_globals.actives); return pmix_mca_base_framework_components_close(&pmix_bfrops_base_framework, NULL); }
static int pmix_pif_base_close(void) { pmix_list_item_t *item; if (!frameopen) { return PMIX_SUCCESS; } while (NULL != (item = pmix_list_remove_first(&pmix_if_list))) { PMIX_RELEASE(item); } PMIX_DESTRUCT(&pmix_if_list); return pmix_mca_base_framework_components_close(&pmix_pif_base_framework, NULL); }