version 1.1.2.6, 2006/07/28 21:19:53
|
version 1.1.2.7, 2006/07/28 21:22:01
|
|
|
#include "ReadWriteSem.h" | #include "ReadWriteSem.h" |
#include "Time.h" | #include "Time.h" |
#include "PegasusAssert.h" | #include "PegasusAssert.h" |
|
#include "Threads.h" |
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
|
|
//============================================================================== | //============================================================================== |
// | // |
// PEGASUS_USE_POSIX_RWLOCK | // PEGASUS_USE_POSIX_RWLOCK |
// | // |
//============================================================================== | //============================================================================== |
|
|
#ifdef PEGASUS_USE_POSIX_RWLOCK | #ifdef PEGASUS_USE_POSIX_RWLOCK |
|
|
ReadWriteSem::ReadWriteSem():_readers(0), _writers(0) | ReadWriteSem::ReadWriteSem():_readers(0), _writers(0) |
{ | { |
pthread_rwlock_init(&_rwlock.rwlock, NULL); | pthread_rwlock_init(&_rwlock.rwlock, NULL); |
|
|
void ReadWriteSem::timed_wait(Uint32 mode, ThreadType caller, | void ReadWriteSem::timed_wait(Uint32 mode, ThreadType caller, |
int milliseconds) | int milliseconds) |
{ | { |
|
|
//----------------------------------------------------------------- | //----------------------------------------------------------------- |
// Lock this object to maintain integrity while we decide | // Lock this object to maintain integrity while we decide |
// exactly what to do next. | // exactly what to do next. |