static gboolean _delete(GtkWidget *widget, GtkWidget *event, gpointer data) { int i; _persist_dynamics(); fini = 1; gtk_main_quit(); select_g_ba_fini(); #ifdef MEMORY_LEAK_DEBUG FREE_NULL_LIST(popup_list); FREE_NULL_LIST(grid_button_list); FREE_NULL_LIST(multi_button_list); FREE_NULL_LIST(signal_params_list); FREE_NULL_LIST(cluster_list); xfree(orig_cluster_name); uid_cache_clear(); #endif for (i = 0; i<debug_action_entries; i++) { xfree(debug_actions[i].name); } xfree(debug_actions); return false; }
int main(int argc, char *argv[]) { int rc = 0; slurm_conf_init(NULL); parse_command_line(argc, argv); if (sdiag_param == STAT_COMMAND_RESET) { req.command_id = STAT_COMMAND_RESET; rc = slurm_reset_statistics((stats_info_request_msg_t *)&req); if (rc == SLURM_SUCCESS) printf("Reset scheduling statistics\n"); else slurm_perror("slurm_reset_statistics"); } else { req.command_id = STAT_COMMAND_GET; rc = slurm_get_statistics(&buf, (stats_info_request_msg_t *)&req); if (rc == SLURM_SUCCESS) { _sort_rpc(); rc = _print_stats(); #ifdef MEMORY_LEAK_DEBUG uid_cache_clear(); slurm_free_stats_response_msg(buf); xfree(rpc_type_ave_time); xfree(rpc_user_ave_time); #endif } else slurm_perror("slurm_get_statistics"); } exit(rc); }
/* Variation of exit() that releases memory as needed for memory leak test */ static void _smap_exit(int rc) { #ifdef MEMORY_LEAK_DEBUG uid_cache_clear(); free_grid(); #ifdef HAVE_BG bg_configure_ba_fini(); #endif #endif if (!params.commandline) curs_set(1); exit(rc); }