LLWorkerThread Class Reference

#include <llworkerthread.h>

Inheritance diagram for LLWorkerThread:

Inheritance graph
[legend]
Collaboration diagram for LLWorkerThread:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LLWorkerThread (const std::string &name, bool threaded=true)
 ~LLWorkerThread ()
apr_pool_tgetWorkerAPRPool ()
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
LLMutexmDeleteMutex
apr_pool_tmWorkerAPRPoolp

Classes

class  WorkRequest

Detailed Description

Definition at line 51 of file llworkerthread.h.


Member Typedef Documentation

typedef std::list<LLWorkerClass*> LLWorkerThread::delete_list_t [private]

Definition at line 81 of file llworkerthread.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

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]

Definition at line 90 of file llworkerthread.h.

References mWorkerAPRPoolp.

S32 LLWorkerThread::update ( U32  max_time_ms  )  [virtual]

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().


Member Data Documentation

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().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:12:04 2010 for Second Life Viewer by  doxygen 1.4.7