version 1.12, 2006/01/30 16:18:04
|
version 1.13, 2006/07/11 18:39:35
|
|
|
#include <Pegasus/Common/Config.h> | #include <Pegasus/Common/Config.h> |
#include <Pegasus/Common/String.h> | #include <Pegasus/Common/String.h> |
#include <Pegasus/Common/IPC.h> | #include <Pegasus/Common/IPC.h> |
#include <Pegasus/Common/DQueue.h> |
|
#include <Pegasus/Common/HashTable.h> | #include <Pegasus/Common/HashTable.h> |
| |
#include <Pegasus/ProviderManager2/CMPI/CMPIProvider.h> | #include <Pegasus/ProviderManager2/CMPI/CMPIProvider.h> |
|
|
* The data structures for holding the thread and the CMPIProvider | * The data structures for holding the thread and the CMPIProvider |
*/ | */ |
| |
struct cleanupThreadRecord { |
struct cleanupThreadRecord : public Linkable |
|
{ |
cleanupThreadRecord(): thread(0), provider(0) {} | cleanupThreadRecord(): thread(0), provider(0) {} |
cleanupThreadRecord(Thread *t, CMPIProvider *p): thread(t), provider(p) { } | cleanupThreadRecord(Thread *t, CMPIProvider *p): thread(t), provider(p) { } |
Thread *thread; | Thread *thread; |
|
|
static Semaphore _pollingSem; | static Semaphore _pollingSem; |
static AtomicInt _stopPolling; | static AtomicInt _stopPolling; |
static Mutex _reaperMutex; | static Mutex _reaperMutex; |
static DQueue<cleanupThreadRecord> _finishedThreadList; |
static List<cleanupThreadRecord,RecursiveMutex> _finishedThreadList; |
| |
protected: | protected: |
| |