main: Destroy static hash table
authorYevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com>
Thu, 18 Jul 2019 14:38:48 +0000 (17:38 +0300)
committerYevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com>
Fri, 19 Jul 2019 08:22:55 +0000 (11:22 +0300)
format_array_format_table has a static lifetime - it will be destroyed
by an atexit handler.

Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/main/formats.c

index fb1f47bd11be27683356328142466b9e3a6b79ee..1abc83c66ab6f2fe46b2e71cda94fb0b026c3990 100644 (file)
@@ -426,6 +426,12 @@ _mesa_format_to_array_format(mesa_format format)
 static struct hash_table *format_array_format_table;
 static once_flag format_array_format_table_exists = ONCE_FLAG_INIT;
 
+static void
+format_array_format_table_destroy(void)
+{
+   _mesa_hash_table_destroy(format_array_format_table, NULL);
+}
+
 static bool
 array_formats_equal(const void *a, const void *b)
 {
@@ -471,6 +477,8 @@ format_array_format_table_init(void)
                                          (void *)(intptr_t)array_format,
                                          (void *)(intptr_t)f);
    }
+
+   atexit(format_array_format_table_destroy);
 }
 
 mesa_format