mesa/main: only call _mesa_destroy_shader_compiler once on exit
authorErik Faye-Lund <kusmabite@gmail.com>
Sun, 28 Jun 2015 12:51:06 +0000 (14:51 +0200)
committerMatt Turner <mattst88@gmail.com>
Mon, 29 Jun 2015 16:06:40 +0000 (09:06 -0700)
There's no point in calling _mesa_destroy_shader_compiler multiple
times on exit; the resources will only be released once anyway.

So let's move the atexit-call into the part that is only called
once.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/main/context.c

index 265f98aea46ba93f572cc6d74f3908569a948f89..c4af8ea16db504c45ae062942f1c168baf9bf351 100644 (file)
@@ -382,6 +382,8 @@ one_time_init( struct gl_context *ctx )
          _mesa_ubyte_to_float_color_tab[i] = (float) i / 255.0F;
       }
 
+      atexit(_mesa_destroy_shader_compiler);
+
 #if defined(DEBUG) && defined(__DATE__) && defined(__TIME__)
       if (MESA_VERBOSE != 0) {
         _mesa_debug(ctx, "Mesa %s DEBUG build %s %s\n",
@@ -404,11 +406,6 @@ one_time_init( struct gl_context *ctx )
    api_init_mask |= 1 << ctx->API;
 
    mtx_unlock(&OneTimeLock);
-
-   /* Hopefully atexit() is widely available.  If not, we may need some
-    * #ifdef tests here.
-    */
-   atexit(_mesa_destroy_shader_compiler);
 }