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().
1.4.4