45 #define IF_p6ILock {0xD855D877,0x1196,0x4444,{0xAF,0x2B,0xA1,0x80,0x5C,0xA5,0x88,0x0B}}
46 #define COMP_p6Lock {0xC6E9AC1E,0xAC4D,0x46c8,{0xAE,0xB7,0x76,0x8A,0xDD,0xD2,0x43,0x7C}}
162 #define IF_p6IMonitor {0xAC0338DF,0x9B66,0x4c30,{0x89,0x4D,0x95,0x03,0x3B,0xD0,0xD6,0x82}}
163 #define COMP_p6Monitor {0xDEE214DF,0xAA66,0x4c0c,{0xA2,0x11,0x41,0x4A,0xDB,0x8F,0xBF,0x8A}}
233 #define IF_p6ICondvar {0xF50FA083,0x1363,0x464C,{0x8E,0x25,0xF5,0x71,0x96,0x6D,0x36,0x6E}}
235 #define COMP_p6Condvar {0x716C57F7,0x6A1C,0x41EC,{0x8F,0xB7,0xF2,0x0D,0xC1,0x0B,0x6D,0x51}}
266 #define IF_p6IRWLock {0xE3FF0744,0x6679,0x4f90,{0xBA,0xDD,0x3A,0xB7,0xDB,0xE3,0xB6,0xEA}}
267 #define COMP_p6RWLock {0x2A9246EA,0x6D01,0x42de,{0xAE,0xC9,0xDA,0x5B,0x66,0x19,0xF4,0xF5}}
297 m_pLock->writeLock();
330 {
if(m_pLock) { m_pLock->addref(); m_pLock->lock();} }
332 {
if(m_pLock) { m_pLock->unlock(); m_pLock->release(); } }
369 {
if(m_pLock) { m_pLock->addref(); m_pLock->lock();} }
371 {
if(m_pLock) { m_pLock->unlock(); m_pLock->release(); } }
A intraprocess, reentrant lock/condition variable.
Used to specify that the P6StackRWLock should perform a write lock operation.
virtual P6R::P6ERR notify()=0
Notifies (wakes up) one waiting thread.
virtual P6R::P6ERR unlock()=0
This method is used to exit the monitor and must be called once for each cooresponding call to lock()...
P6R::p6IMonitor * m_pLock
virtual P6R::P6ERR waitTimed(P6R::P6INTERVAL tTimeout)=0
Waits for another thread to call notify() or notifyAll(), or for the specified amount of time to elap...
virtual P6R::P6ERR lock()=0
This method is used to enter the monitor.
P6StackMonitor(p6IMonitor *pLock)
virtual P6R::P6ERR notifyAll()=0
Notifies (wakes up) all waiting threads.
virtual P6R::P6ERR initialize()=0
Non-reentrant, mutual exclusion lock.
Stack based read/writer lock.
virtual P6R::P6ERR initialize(P6R::p6ILock *pLock)=0
Initializes the condition variable for use.
The base interface all [p6]COM components must derive from and implement.
virtual P6R::P6ERR initialize()=0
Initializes the monitor for use.
P6StackLock(p6ILock *pLock)
virtual P6R::P6ERR unlock()=0
P6StackRWLock(p6IRWLock *pLock, P6RWLOCKMODE mode)
virtual P6R::P6ERR wait()=0
Wait for notify(), notifyall() to be called.
virtual P6R::P6ERR unlock()=0
Used to specify that the P6StackRWLock should perform a read lock operation.
virtual P6R::P6ERR lock()=0
virtual P6R::P6ERR writeLock()=0
P6RWLOCKMODE
Defines the lock mode for a readers/writer stack lock.
Stack based non-reentrant lock.
P6COM definitions and interfaces.
virtual P6R::P6ERR readLock()=0
virtual P6R::P6ERR notify()=0
Notifies (wakes up) one waiting thread.
virtual P6R::P6ERR initialize()=0
Initializes the lock for use.
virtual P6R::P6ERR wait()=0
Waits for another thread to call notify() or notifyAll().
virtual P6R::P6ERR waitTimed(P6R::P6INTERVAL tTimeout)=0
virtual P6R::P6ERR notifyAll()=0
Notifies (wakes up) ALL waiting thread.