#include <llworkerthread.h>
Inheritance diagram for LLWorkerThread:
Public Member Functions | |
LLWorkerThread (const std::string &name, bool threaded=true) | |
~LLWorkerThread () | |
apr_pool_t * | getWorkerAPRPool () |
S32 | update (U32 max_time_ms) |
handle_t | addWorkRequest (LLWorkerClass *workerclass, S32 param, U32 priority=PRIORITY_NORMAL) |
void | deleteWorker (LLWorkerClass *workerclass) |
S32 | getNumDeletes () |
Private Types | |
typedef std::list< LLWorkerClass * > | delete_list_t |
Private Attributes | |
delete_list_t | mDeleteList |
LLMutex * | mDeleteMutex |
apr_pool_t * | mWorkerAPRPoolp |
Classes | |
class | WorkRequest |
Definition at line 51 of file llworkerthread.h.
typedef std::list<LLWorkerClass*> LLWorkerThread::delete_list_t [private] |
Definition at line 81 of file llworkerthread.h.
LLWorkerThread::LLWorkerThread | ( | const std::string & | name, | |
bool | threaded = true | |||
) |
Definition at line 42 of file llworkerthread.cpp.
References LLThread::getAPRPool(), mDeleteMutex, mWorkerAPRPoolp, and NULL.
LLWorkerThread::~LLWorkerThread | ( | ) |
Definition at line 50 of file llworkerthread.cpp.
References llendl, llwarns, mDeleteList, mDeleteMutex, and LLThread::mName.
LLWorkerThread::handle_t LLWorkerThread::addWorkRequest | ( | LLWorkerClass * | workerclass, | |
S32 | param, | |||
U32 | priority = PRIORITY_NORMAL | |||
) |
Definition at line 117 of file llworkerthread.cpp.
References LLQueuedThread::addRequest(), LLWorkerThread::WorkRequest::deleteRequest(), LLQueuedThread::generateHandle(), llendl, llerrs, and LLQueuedThread::nullHandle().
Referenced by LLWorkerClass::addWork().
void LLWorkerThread::deleteWorker | ( | LLWorkerClass * | workerclass | ) |
Definition at line 134 of file llworkerthread.cpp.
References LLMutex::lock(), mDeleteList, mDeleteMutex, and LLMutex::unlock().
Referenced by LLWorkerClass::scheduleDelete().
S32 LLWorkerThread::getNumDeletes | ( | ) | [inline] |
Definition at line 97 of file llworkerthread.h.
References mDeleteList, and S32.
Referenced by LLGLTexMemBar::draw().
apr_pool_t* LLWorkerThread::getWorkerAPRPool | ( | ) | [inline] |
Reimplemented from LLQueuedThread.
Reimplemented in LLTextureCache, and LLTextureFetch.
Definition at line 65 of file llworkerthread.cpp.
References LLQueuedThread::completeRequest(), LLWorkerClass::deleteOK(), LLWorkerClass::getFlags(), LLMutex::lock(), mDeleteList, mDeleteMutex, LLQueuedThread::nullHandle(), S32, LLMutex::unlock(), LLQueuedThread::update(), LLWorkerClass::WCF_ABORT_REQUESTED, LLWorkerClass::WCF_HAVE_WORK, and LLWorkerClass::WCF_WORK_FINISHED.
Referenced by cleanup_app(), LLViewerImageList::decodeAllImages(), main_loop(), LLTextureFetch::update(), LLTextureCache::update(), and update_texture_fetch().
delete_list_t LLWorkerThread::mDeleteList [private] |
Definition at line 82 of file llworkerthread.h.
Referenced by deleteWorker(), getNumDeletes(), update(), and ~LLWorkerThread().
LLMutex* LLWorkerThread::mDeleteMutex [private] |
Definition at line 83 of file llworkerthread.h.
Referenced by deleteWorker(), LLWorkerThread(), update(), and ~LLWorkerThread().
apr_pool_t* LLWorkerThread::mWorkerAPRPoolp [private] |
Definition at line 84 of file llworkerthread.h.
Referenced by getWorkerAPRPool(), and LLWorkerThread().