From 546f01b6d52d8da18c7a39239a36adf5b05ccf48 Mon Sep 17 00:00:00 2001 From: Jason Sams Date: Thu, 9 Dec 2010 12:19:46 -0800 Subject: [PATCH] Fix a severe cleanup bug where teardown of the GL driver could occur on the wrong thread. Change-Id: Icd56182ccbd1371124a247695bf3ebd3085df450 --- libs/rs/rs.spec | 3 +++ libs/rs/rsContext.cpp | 9 ++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/libs/rs/rs.spec b/libs/rs/rs.spec index b1551bae744a5..97ecca0e0b579 100644 --- a/libs/rs/rs.spec +++ b/libs/rs/rs.spec @@ -47,6 +47,9 @@ ContextSetPriority { param int32_t priority } +ContextDestroy { +} + AssignName { param void *obj param const char *name diff --git a/libs/rs/rsContext.cpp b/libs/rs/rsContext.cpp index 35db33229c3c5..2988950d532aa 100644 --- a/libs/rs/rsContext.cpp +++ b/libs/rs/rsContext.cpp @@ -1019,6 +1019,10 @@ void rsi_ContextDump(Context *rsc, int32_t bits) { ObjectBase::dumpAll(rsc); } +void rsi_ContextDestroy(Context *rsc) { + delete rsc; +} + } } @@ -1038,11 +1042,6 @@ RsContext rsContextCreateGL(RsDevice vdev, uint32_t version, RsSurfaceConfig sc) return rsc; } -void rsContextDestroy(RsContext vrsc) { - Context * rsc = static_cast(vrsc); - delete rsc; -} - RsMessageToClientType rsContextPeekMessage(RsContext vrsc, size_t *receiveLen, uint32_t *subID, bool wait) { Context * rsc = static_cast(vrsc); return rsc->peekMessageToClient(receiveLen, subID, wait);