diff options
author | Aleric Inglewood | 2010-11-10 15:19:13 +0100 |
---|---|---|
committer | Aleric Inglewood | 2010-11-17 01:03:18 +0100 |
commit | b66950bc26cfb3210e786c966141b20a5cc13a84 (patch) | |
tree | 5afd535bfd59f1fb1fc6d9132958965c527aa0ee /linden/indra/llimage/llimageworker.cpp | |
parent | IMP-712: Add shortcut for the Groups tab. (diff) | |
download | meta-impy-b66950bc26cfb3210e786c966141b20a5cc13a84.zip meta-impy-b66950bc26cfb3210e786c966141b20a5cc13a84.tar.gz meta-impy-b66950bc26cfb3210e786c966141b20a5cc13a84.tar.bz2 meta-impy-b66950bc26cfb3210e786c966141b20a5cc13a84.tar.xz |
IMP-590: Added a thread-safe and robust wrapper for APR pools.
See http://redmine.imprudenceviewer.org/issues/590
Diffstat (limited to '')
-rw-r--r-- | linden/indra/llimage/llimageworker.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/linden/indra/llimage/llimageworker.cpp b/linden/indra/llimage/llimageworker.cpp index 558a968..dc989e5 100644 --- a/linden/indra/llimage/llimageworker.cpp +++ b/linden/indra/llimage/llimageworker.cpp | |||
@@ -41,14 +41,13 @@ | |||
41 | LLImageDecodeThread::LLImageDecodeThread(bool threaded) | 41 | LLImageDecodeThread::LLImageDecodeThread(bool threaded) |
42 | : LLQueuedThread("imagedecode", threaded) | 42 | : LLQueuedThread("imagedecode", threaded) |
43 | { | 43 | { |
44 | mCreationMutex = new LLMutex(getAPRPool()); | ||
45 | } | 44 | } |
46 | 45 | ||
47 | // MAIN THREAD | 46 | // MAIN THREAD |
48 | // virtual | 47 | // virtual |
49 | S32 LLImageDecodeThread::update(U32 max_time_ms) | 48 | S32 LLImageDecodeThread::update(U32 max_time_ms) |
50 | { | 49 | { |
51 | LLMutexLock lock(mCreationMutex); | 50 | LLMutexLock lock(&mCreationMutex); |
52 | for (creation_list_t::iterator iter = mCreationList.begin(); | 51 | for (creation_list_t::iterator iter = mCreationList.begin(); |
53 | iter != mCreationList.end(); ++iter) | 52 | iter != mCreationList.end(); ++iter) |
54 | { | 53 | { |
@@ -71,7 +70,7 @@ S32 LLImageDecodeThread::update(U32 max_time_ms) | |||
71 | LLImageDecodeThread::handle_t LLImageDecodeThread::decodeImage(LLImageFormatted* image, | 70 | LLImageDecodeThread::handle_t LLImageDecodeThread::decodeImage(LLImageFormatted* image, |
72 | U32 priority, S32 discard, BOOL needs_aux, Responder* responder) | 71 | U32 priority, S32 discard, BOOL needs_aux, Responder* responder) |
73 | { | 72 | { |
74 | LLMutexLock lock(mCreationMutex); | 73 | LLMutexLock lock(&mCreationMutex); |
75 | handle_t handle = generateHandle(); | 74 | handle_t handle = generateHandle(); |
76 | mCreationList.push_back(creation_info(handle, image, priority, discard, needs_aux, responder)); | 75 | mCreationList.push_back(creation_info(handle, image, priority, discard, needs_aux, responder)); |
77 | return handle; | 76 | return handle; |
@@ -81,7 +80,7 @@ LLImageDecodeThread::handle_t LLImageDecodeThread::decodeImage(LLImageFormatted* | |||
81 | // Returns the size of the mutex guarded list as an indication of sanity | 80 | // Returns the size of the mutex guarded list as an indication of sanity |
82 | S32 LLImageDecodeThread::tut_size() | 81 | S32 LLImageDecodeThread::tut_size() |
83 | { | 82 | { |
84 | LLMutexLock lock(mCreationMutex); | 83 | LLMutexLock lock(&mCreationMutex); |
85 | S32 res = mCreationList.size(); | 84 | S32 res = mCreationList.size(); |
86 | return res; | 85 | return res; |
87 | } | 86 | } |