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;
}