Mesa (master): egl: Use _eglAddAtExitCall to free thread infos and displays .

Brian Paul brianp at kemper.freedesktop.org
Wed Aug 12 04:15:23 UTC 2009


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

Author: Chia-I Wu <olvaffe at gmail.com>
Date:   Mon Aug 10 16:45:12 2009 +0800

egl: Use _eglAddAtExitCall to free thread infos and displays.

Thread infos and displays are usually not freed by applications.  This
commit add atexit calls to free them.

Signed-off-by: Chia-I Wu <olvaffe at gmail.com>

---

 src/egl/main/eglcurrent.c |    5 +++--
 src/egl/main/egldisplay.c |    2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/egl/main/eglcurrent.c b/src/egl/main/eglcurrent.c
index f92719c..4431f96 100644
--- a/src/egl/main/eglcurrent.c
+++ b/src/egl/main/eglcurrent.c
@@ -4,6 +4,7 @@
 #include "eglcontext.h"
 #include "egllog.h"
 #include "eglmutex.h"
+#include "eglglobals.h"
 
 
 /* This should be kept in sync with _eglInitThreadInfo() */
@@ -84,7 +85,7 @@ static INLINE EGLBoolean _eglInitTSD(void (*dtor)(_EGLThreadInfo *))
             return EGL_FALSE;
          }
          _egl_FreeTSD = dtor;
-         (void) _eglFiniTSD;
+         _eglAddAtExitCall(_eglFiniTSD);
          _egl_TSDInitialized = EGL_TRUE;
       }
 
@@ -118,7 +119,7 @@ static INLINE EGLBoolean _eglInitTSD(void (*dtor)(_EGLThreadInfo *))
 {
    if (!_egl_FreeTSD && dtor) {
       _egl_FreeTSD = dtor;
-      (void) _eglFiniTSD;
+      _eglAddAtExitCall(_eglFiniTSD);
    }
    return EGL_TRUE;
 }
diff --git a/src/egl/main/egldisplay.c b/src/egl/main/egldisplay.c
index 6fdb3b7..feae1d6 100644
--- a/src/egl/main/egldisplay.c
+++ b/src/egl/main/egldisplay.c
@@ -67,7 +67,7 @@ _eglInitDisplay(void)
          _eglDisplayHash = _eglNewHashTable();
          _eglSurfaceHash = _eglNewHashTable();
 
-         (void) _eglFiniDisplay;
+         _eglAddAtExitCall(_eglFiniDisplay);
       }
 
       _eglUnlockMutex(&_eglDisplayInitMutex);




More information about the mesa-commit mailing list