void sc_finalize (void) { int i; int retval; /* sc_packages is static and thus initialized to all zeros */ for (i = SC_MAX_PACKAGES - 1; i >= 0; --i) if (sc_packages[i].is_registered) sc_package_unregister (i); SC_ASSERT (sc_num_packages == 0); sc_memory_check (-1); sc_set_signal_handler (0); sc_mpicomm = MPI_COMM_NULL; sc_print_backtrace = 0; sc_identifier = -1; /* close trace file */ if (sc_trace_file != NULL) { retval = fclose (sc_trace_file); SC_CHECK_ABORT (!retval, "Trace file close"); sc_trace_file = NULL; } }
void sc_finalize (void) { int i; int retval; #if defined(SC_ENABLE_MPI) && defined(SC_ENABLE_MPICOMMSHARED) sc_mpi_comm_detach_node_comms (sc_mpicomm); #endif /* sc_packages is static and thus initialized to all zeros */ for (i = sc_num_packages_alloc - 1; i >= 0; --i) if (sc_packages[i].is_registered) sc_package_unregister (i); SC_ASSERT (sc_num_packages == 0); sc_memory_check (-1); free (sc_packages); sc_packages = NULL; sc_num_packages_alloc = 0; sc_set_signal_handler (0); sc_mpicomm = sc_MPI_COMM_NULL; sc_print_backtrace = 0; sc_identifier = -1; /* close trace file */ if (sc_trace_file != NULL) { retval = fclose (sc_trace_file); SC_CHECK_ABORT (!retval, "Trace file close"); sc_trace_file = NULL; } }