summaryrefslogtreecommitdiffstats
path: root/libs/rs/rsObjectBase.h
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2010-10-14 17:48:46 -0700
committerJason Sams <rjsams@android.com>2010-10-14 17:48:46 -0700
commit3b9c52ab8c1ab240d2299358d01a8efbe392d111 (patch)
treead86f6f761e41591de73aeaa236fa8c99105e672 /libs/rs/rsObjectBase.h
parentc65217e4ec3e6c80834988ec3bc66a90778ee4b0 (diff)
downloadframeworks_base-3b9c52ab8c1ab240d2299358d01a8efbe392d111.zip
frameworks_base-3b9c52ab8c1ab240d2299358d01a8efbe392d111.tar.gz
frameworks_base-3b9c52ab8c1ab240d2299358d01a8efbe392d111.tar.bz2
Async type creation.
Change-Id: I4d98446fabbf7e8a98c97f85b573a58c8a0c58c2
Diffstat (limited to 'libs/rs/rsObjectBase.h')
-rw-r--r--libs/rs/rsObjectBase.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/libs/rs/rsObjectBase.h b/libs/rs/rsObjectBase.h
index 59fb4a6..8d1ace1 100644
--- a/libs/rs/rsObjectBase.h
+++ b/libs/rs/rsObjectBase.h
@@ -39,6 +39,7 @@ public:
void incUserRef() const;
bool decUserRef() const;
bool zeroUserRef() const;
+ void prelockedIncUserRef() const;
const char * getName() const {
return mName.string();
@@ -47,7 +48,6 @@ public:
void setName(const char *, uint32_t len);
Context * getContext() const {return mRSC;}
- void setContext(Context *);
static void zeroAllUserRef(Context *rsc);
static void dumpAll(Context *rsc);
@@ -58,12 +58,17 @@ public:
static bool isValid(const Context *rsc, const ObjectBase *obj);
+ static void lockUserRef();
+ static void unlockUserRef();
+
protected:
const char *mAllocFile;
uint32_t mAllocLine;
Context *mRSC;
private:
+ static pthread_mutex_t gObjectInitMutex;
+
void add() const;
void remove() const;