version 1.4, 2006/08/21 15:31:03
|
version 1.5, 2006/11/10 18:14:58
|
|
|
ReadWriteSem::~ReadWriteSem() | ReadWriteSem::~ReadWriteSem() |
{ | { |
int r=0; | int r=0; |
while (r=pthread_rwlock_destroy(&_rwlock.rwlock) == EBUSY || (r == -1 && errno == EBUSY)) |
while (r=pthread_rwlock_destroy(&_rwlock.rwlock) == EBUSY || |
|
(r == -1 && errno == EBUSY)) |
{ | { |
Threads::yield(); | Threads::yield(); |
} | } |
|
|
| |
int ReadWriteSem::read_count() const | int ReadWriteSem::read_count() const |
{ | { |
return (_readers.get()); |
return _readers.get(); |
} | } |
| |
int ReadWriteSem::write_count() const | int ReadWriteSem::write_count() const |
{ | { |
return (_writers.get()); |
return _writers.get(); |
} | } |
| |
#endif /* PEGASUS_USE_POSIX_RWLOCK */ | #endif /* PEGASUS_USE_POSIX_RWLOCK */ |
|
|
| |
int ReadWriteSem::read_count() const | int ReadWriteSem::read_count() const |
{ | { |
return (_readers.get()); |
return _readers.get(); |
} | } |
| |
int ReadWriteSem::write_count() const | int ReadWriteSem::write_count() const |
{ | { |
return (_writers.get()); |
return _writers.get(); |
} | } |
| |
#endif /* !PEGASUS_USE_SEMAPHORE_RWLOCK */ | #endif /* !PEGASUS_USE_SEMAPHORE_RWLOCK */ |