LibreOffice Module cppu (master) 1
|
#include <threadpool.hxx>
Public Member Functions | |
ThreadPool () | |
virtual | ~ThreadPool () override |
void | dispose (void const *nDisposeId) |
void | destroy (void const *nDisposeId) |
bool | addJob (const ::rtl::ByteSequence &aThreadId, bool bAsynchron, void *pThreadSpecificData, RequestFun *doRequest, void const *disposeId) |
void | prepare (const ::rtl::ByteSequence &aThreadId) |
void * | enter (const ::rtl::ByteSequence &aThreadId, void const *nDisposeId) |
bool | revokeQueue (const ::rtl::ByteSequence &aThreadId, bool bAsynchron) |
void | waitInPool (rtl::Reference< ORequestThread > const &pThread) |
void | joinWorkers () |
ThreadAdmin & | getThreadAdmin () |
Public Member Functions inherited from salhelper::SimpleReferenceObject | |
SimpleReferenceObject () | |
void | acquire () |
void | release () |
Private Member Functions | |
bool | createThread (JobQueue *pQueue, const ::rtl::ByteSequence &aThreadId, bool bAsynchron) |
Additional Inherited Members | |
Static Public Member Functions inherited from salhelper::SimpleReferenceObject | |
static void * | operator new (std::size_t nSize) |
static void * | operator new (std::size_t nSize, std::nothrow_t const &rNothrow) |
static void | operator delete (void *pPtr) |
static void | operator delete (void *pPtr, std::nothrow_t const &rNothrow) |
Protected Member Functions inherited from salhelper::SimpleReferenceObject | |
virtual | ~SimpleReferenceObject () COVERITY_NOEXCEPT_FALSE |
Protected Attributes inherited from salhelper::SimpleReferenceObject | |
oslInterlockedCount | m_nCount |
Definition at line 117 of file threadpool.hxx.
cppu_threadpool::ThreadPool::ThreadPool | ( | ) |
Definition at line 75 of file threadpool.cxx.
|
overridevirtual |
Definition at line 80 of file threadpool.cxx.
References m_mapQueue, and SAL_WARN_IF.
bool cppu_threadpool::ThreadPool::addJob | ( | const ::rtl::ByteSequence & | aThreadId, |
bool | bAsynchron, | ||
void * | pThreadSpecificData, | ||
RequestFun * | doRequest, | ||
void const * | disposeId | ||
) |
Definition at line 220 of file threadpool.cxx.
References cppu_threadpool::JobQueue::add(), createThread(), m_DisposedCallerAdmin, m_mapQueue, m_mutex, and cppu_threadpool::JobQueue::suspend().
|
private |
Definition at line 150 of file threadpool.cxx.
References cppu_threadpool::WaitingThread::condition, m_dequeThreads, m_mutexWaitingThreadList, and cppu_threadpool::WaitingThread::thread.
Referenced by addJob().
void cppu_threadpool::ThreadPool::destroy | ( | void const * | nDisposeId | ) |
Definition at line 103 of file threadpool.cxx.
References m_DisposedCallerAdmin.
void cppu_threadpool::ThreadPool::dispose | ( | void const * | nDisposeId | ) |
Definition at line 85 of file threadpool.cxx.
References m_DisposedCallerAdmin, m_mapQueue, and m_mutex.
void * cppu_threadpool::ThreadPool::enter | ( | const ::rtl::ByteSequence & | aThreadId, |
void const * | nDisposeId | ||
) |
Definition at line 290 of file threadpool.cxx.
References cppu_threadpool::JobQueue::enter(), cppu_threadpool::JobQueue::isCallstackEmpty(), m_mapQueue, m_mutex, and revokeQueue().
|
inline |
Definition at line 144 of file threadpool.hxx.
References m_aThreadAdmin.
void cppu_threadpool::ThreadPool::joinWorkers | ( | ) |
Definition at line 137 of file threadpool.cxx.
References cppu_threadpool::ThreadAdmin::join(), m_aThreadAdmin, m_dequeThreads, and m_mutexWaitingThreadList.
void cppu_threadpool::ThreadPool::prepare | ( | const ::rtl::ByteSequence & | aThreadId | ) |
Definition at line 273 of file threadpool.cxx.
References m_mapQueue, m_mutex, and p.
bool cppu_threadpool::ThreadPool::revokeQueue | ( | const ::rtl::ByteSequence & | aThreadId, |
bool | bAsynchron | ||
) |
Definition at line 178 of file threadpool.cxx.
References m_mapQueue, and m_mutex.
Referenced by enter().
void cppu_threadpool::ThreadPool::waitInPool | ( | rtl::Reference< ORequestThread > const & | pThread | ) |
Definition at line 113 of file threadpool.cxx.
References cppu_threadpool::WaitingThread::condition, find(), m_dequeThreads, m_mutexWaitingThreadList, and cppu_threadpool::WaitingThread::thread.
|
private |
Definition at line 157 of file threadpool.hxx.
Referenced by getThreadAdmin(), and joinWorkers().
|
private |
Definition at line 154 of file threadpool.hxx.
Referenced by createThread(), joinWorkers(), and waitInPool().
|
private |
Definition at line 156 of file threadpool.hxx.
|
private |
Definition at line 150 of file threadpool.hxx.
Referenced by addJob(), dispose(), enter(), prepare(), revokeQueue(), and ~ThreadPool().
|
private |
Definition at line 151 of file threadpool.hxx.
Referenced by addJob(), dispose(), enter(), prepare(), and revokeQueue().
|
private |
Definition at line 153 of file threadpool.hxx.
Referenced by createThread(), joinWorkers(), and waitInPool().