int opal_finalize(void) { if( --opal_initialized != 0 ) { if( opal_initialized < 0 ) { return OPAL_ERROR; } return OPAL_SUCCESS; } opal_progress_finalize(); /* close the checkpoint and restart service */ opal_cr_finalize(); /* close the security framework */ (void) mca_base_framework_close(&opal_sec_base_framework); #if OPAL_ENABLE_FT_CR == 1 (void) mca_base_framework_close(&opal_compress_base_framework); #endif (void) mca_base_framework_close(&opal_event_base_framework); /* close high resolution timers */ (void) mca_base_framework_close(&opal_timer_base_framework); (void) mca_base_framework_close(&opal_backtrace_base_framework); (void) mca_base_framework_close(&opal_memchecker_base_framework); /* close the memory manager components. Registered hooks can still be fired any time between now and the call to opal_mem_free_finalize(), and callbacks from the memory manager hooks to the bowels of the mem_free code can still occur any time between now and end of application (even post main()!) */ (void) mca_base_framework_close(&opal_memory_base_framework); /* close the memcpy framework */ (void) mca_base_framework_close(&opal_memcpy_base_framework); /* finalize the memory manager / tracker */ opal_mem_hooks_finalize(); /* close the hwloc framework */ (void) mca_base_framework_close(&opal_hwloc_base_framework); /* close the shmem framework */ (void) mca_base_framework_close(&opal_shmem_base_framework); /* close the sec framework */ (void) mca_base_framework_close(&opal_sec_base_framework); /* finalize util code */ opal_finalize_util(); return OPAL_SUCCESS; }
int opal_finalize(void) { if( --opal_initialized != 0 ) { if( opal_initialized < 0 ) { return OPAL_ERROR; } return OPAL_SUCCESS; } opal_progress_finalize(); /* close the checkpoint and restart service */ opal_cr_finalize(); /* close the security framework */ (void) mca_base_framework_close(&opal_sec_base_framework); #if OPAL_ENABLE_FT_CR == 1 (void) mca_base_framework_close(&opal_compress_base_framework); #endif (void) mca_base_framework_close(&opal_event_base_framework); /* close high resolution timers */ (void) mca_base_framework_close(&opal_timer_base_framework); (void) mca_base_framework_close(&opal_backtrace_base_framework); (void) mca_base_framework_close(&opal_memchecker_base_framework); (void) mca_base_framework_close(&opal_patcher_base_framework); /* close the memcpy framework */ (void) mca_base_framework_close(&opal_memcpy_base_framework); /* finalize the memory manager / tracker */ opal_mem_hooks_finalize(); /* close the hwloc framework */ (void) mca_base_framework_close(&opal_hwloc_base_framework); /* close the shmem framework */ (void) mca_base_framework_close(&opal_shmem_base_framework); /* close the sec framework */ (void) mca_base_framework_close(&opal_sec_base_framework); /* finalize util code */ opal_finalize_util(); return OPAL_SUCCESS; }
int opal_finalize(void) { if( --opal_initialized != 0 ) { if( opal_initialized < 0 ) { return OPAL_ERROR; } return OPAL_SUCCESS; } /* close the checkpoint and restart service */ opal_cr_finalize(); opal_progress_finalize(); opal_event_fini(); /* close high resolution timers */ opal_timer_base_close(); opal_backtrace_base_close(); /* close the memory manager components. Registered hooks can still be fired any time between now and the call to opal_mem_free_finalize(), and callbacks from the memory manager hooks to the bowels of the mem_free code can still occur any time between now and end of application (even post main()!) */ opal_memory_base_close(); /* finalize the memory manager / tracker */ opal_mem_hooks_finalize(); /* close the carto framework */ opal_carto_base_close(); /* close the processor affinity base */ opal_paffinity_base_close(); /* close the memcpy base */ opal_memcpy_base_close(); /* finalize the mca */ mca_base_close(); /* finalize util code */ opal_finalize_util(); return OPAL_SUCCESS; }