Mesa (master): glsl: No need to lock in _mesa_glsl_release_types

Matt Turner mattst88 at kemper.freedesktop.org
Mon Jun 29 16:39:44 UTC 2015


Module: Mesa
Branch: master
Commit: de3e323be1bdc40a2a7d724d0f3db7a81a93bbbb
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=de3e323be1bdc40a2a7d724d0f3db7a81a93bbbb

Author: Erik Faye-Lund <kusmabite at gmail.com>
Date:   Sun Jun 28 14:51:07 2015 +0200

glsl: No need to lock in _mesa_glsl_release_types

This function only gets called while mesa is unloading, so there's
no potential of racing or multiple calls at the same time. So let's
just get rid of the locking.

Signed-off-by: Erik Faye-Lund <kusmabite at gmail.com>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/glsl/glsl_types.cpp |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/glsl/glsl_types.cpp b/src/glsl/glsl_types.cpp
index f675e90..c622380 100644
--- a/src/glsl/glsl_types.cpp
+++ b/src/glsl/glsl_types.cpp
@@ -324,8 +324,10 @@ const glsl_type *glsl_type::get_scalar_type() const
 void
 _mesa_glsl_release_types(void)
 {
-   mtx_lock(&glsl_type::mutex);
-
+   /* Should only be called during atexit (either when unloading shared
+    * object, or if process terminates), so no mutex-locking should be
+    * necessary.
+    */
    if (glsl_type::array_types != NULL) {
       hash_table_dtor(glsl_type::array_types);
       glsl_type::array_types = NULL;
@@ -335,8 +337,6 @@ _mesa_glsl_release_types(void)
       hash_table_dtor(glsl_type::record_types);
       glsl_type::record_types = NULL;
    }
-
-   mtx_unlock(&glsl_type::mutex);
 }
 
 




More information about the mesa-commit mailing list