From 14bb051f363ff2770a4ccf183b616d7cef3ddb4c Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Tue, 13 Sep 2016 13:18:10 +0200 Subject: [PATCH] [mini] Provide a free function to the saved signal handler hash table. This makes the cleanup code simpler, and also makes it easier to replace saved signal handlers without having to worry about leaking memory. --- mono/mini/mini-posix.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/mono/mini/mini-posix.c b/mono/mini/mini-posix.c index 6f6e266a3b0..e192403487b 100644 --- a/mono/mini/mini-posix.c +++ b/mono/mini/mini-posix.c @@ -167,21 +167,14 @@ save_old_signal_handler (int signo, struct sigaction *old_action) handler_to_save->sa_flags = old_action->sa_flags; if (!mono_saved_signal_handlers) - mono_saved_signal_handlers = g_hash_table_new (NULL, NULL); + mono_saved_signal_handlers = g_hash_table_new_full (NULL, NULL, NULL, g_free); g_hash_table_insert (mono_saved_signal_handlers, GINT_TO_POINTER (signo), handler_to_save); } -static void -free_saved_sig_handler_func (gpointer key, gpointer value, gpointer user_data) -{ - g_free (value); -} - static void free_saved_signal_handlers (void) { if (mono_saved_signal_handlers) { - g_hash_table_foreach (mono_saved_signal_handlers, free_saved_sig_handler_func, NULL); g_hash_table_destroy (mono_saved_signal_handlers); mono_saved_signal_handlers = NULL; } -- 2.25.1