From 772a1405e2f89793f3e18716908d447a7dea0252 Mon Sep 17 00:00:00 2001 From: Heeyong Song Date: Wed, 16 Oct 2013 15:45:22 +0900 Subject: [PATCH] Fix a crash when exit app Change-Id: If6461ea1b72e345b3aff887abcfaaa9c5a33ca3b --- src/ui/animations/FUiAnim_GlLoader.cpp | 6 +++++- src/ui/animations/FUiAnim_GlRenderManager.cpp | 19 +++++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/ui/animations/FUiAnim_GlLoader.cpp b/src/ui/animations/FUiAnim_GlLoader.cpp index 8ef7a11..4b6e9ea 100644 --- a/src/ui/animations/FUiAnim_GlLoader.cpp +++ b/src/ui/animations/FUiAnim_GlLoader.cpp @@ -37,7 +37,7 @@ #include //#include "FUiAnim_GlLoader.h" -//#define PRINT fprintf(stderr, __VA_ARGS__) +//#define PRINT(...) fprintf(stderr, __VA_ARGS__) #define PRINT(...) using namespace Tizen::Base; @@ -463,6 +463,10 @@ _GlesInterfaceTerminate(void) PRINT("glGetError() (%#x) %s \n", error, __FUNCTION__); \ SysLog(NID_UI_ANIM, "glGetError() (%#x) %s", error, __FUNCTION__); \ } \ + else \ + { \ + PRINT("%s\n", __FUNCTION__); \ + } \ } diff --git a/src/ui/animations/FUiAnim_GlRenderManager.cpp b/src/ui/animations/FUiAnim_GlRenderManager.cpp index e90688d..7a0a625 100644 --- a/src/ui/animations/FUiAnim_GlRenderManager.cpp +++ b/src/ui/animations/FUiAnim_GlRenderManager.cpp @@ -498,8 +498,15 @@ _GlRenderManager::_GlRenderManager(void) _GlRenderManager::~_GlRenderManager(void) { - // TODO: enable -// pthread_join(__threadInfo, NULL); + _AutoMutex commandTransactionLock(__commandTransaction); + _AutoMutex commandLock(__commandLock); + + __commandId = COMMAND_EXIT; + __commandRequest.SendSignal(); + + __commandReply.WaitForSignal(&__commandLock); + + pthread_join(__threadInfo, NULL); delete [] __pRenderQueue; @@ -1724,6 +1731,7 @@ _GlRenderManager::RenderProc(void* pData) default: PRINT("UNKNOWN COMMAND (%d)\n", commandId); + needReply = false; break; } @@ -1741,6 +1749,13 @@ exit_renderer: pThis->__pGlContext->PopContext(); #endif + { + _AutoMutex commandLock(pThis->__commandLock); + + pThis->__commandResult = E_SUCCESS; + pThis->__commandReply.SendSignal(); + } + return null; } -- 2.7.4