![]() |
Semaphore Class Referencepthread semaphore wrapper.
More...
|
Public Member Functions | |
Semaphore (value_t start_val=0) | |
~Semaphore () | |
int | Post () |
int | Wait () |
Wait for Post. | |
int | TryWait () |
Not implemented for win32. | |
int | GetValue (int &) |
Not implemented for win32. | |
Private Member Functions | |
Semaphore (const Semaphore &) | |
Semaphore & | operator= (const Semaphore &) |
Private Attributes | |
sem_t | m_sem |
Definition at line 62 of file Semaphore.h.
Semaphore::Semaphore | ( | value_t | start_val = 0 |
) |
Definition at line 82 of file Semaphore.cpp.
References m_sem.
00083 { 00084 sem_init(&m_sem, 0, start_val); 00085 }
Semaphore::~Semaphore | ( | ) |
Definition at line 88 of file Semaphore.cpp.
References m_sem.
00089 { 00090 sem_destroy(&m_sem); 00091 }
Semaphore::Semaphore | ( | const Semaphore & | ) | [inline, private] |
int Semaphore::Post | ( | ) |
Definition at line 94 of file Semaphore.cpp.
References m_sem.
Referenced by SocketHandlerThread::Run(), Thread::SetRelease(), and Thread::Thread().
00095 { 00096 return sem_post(&m_sem); 00097 }
int Semaphore::Wait | ( | ) |
Wait for Post.
Definition at line 100 of file Semaphore.cpp.
References m_sem.
Referenced by Thread::Wait(), and SocketHandlerThread::Wait().
00101 { 00102 return sem_wait(&m_sem); 00103 }
int Semaphore::TryWait | ( | ) |
Not implemented for win32.
Definition at line 106 of file Semaphore.cpp.
References m_sem.
00107 { 00108 return sem_trywait(&m_sem); 00109 }
int Semaphore::GetValue | ( | int & | i | ) |
Not implemented for win32.
Definition at line 112 of file Semaphore.cpp.
References m_sem.
00113 { 00114 return sem_getvalue(&m_sem, &i); 00115 }
sem_t Semaphore::m_sem [private] |
Definition at line 86 of file Semaphore.h.
Referenced by GetValue(), Post(), Semaphore(), TryWait(), Wait(), and ~Semaphore().