From 64e7bb326207df559b5cebdb278f62df83cf1425 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Mon, 10 Aug 2009 16:45:12 +0800 Subject: [PATCH] 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 --- 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 f92719cfbc6..4431f964f69 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 6fdb3b7a1c4..feae1d60409 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); -- 2.30.2