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