Logo
~Sockets~
~Examples~
~Contact~


Semaphore Class Reference
[Threading]

pthread semaphore wrapper. More...

#include <Semaphore.h>

List of all members.


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 &)
Semaphoreoperator= (const Semaphore &)

Private Attributes

sem_t m_sem

Detailed Description

pthread semaphore wrapper.

Definition at line 62 of file Semaphore.h.


Constructor & Destructor Documentation

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]

Definition at line 81 of file Semaphore.h.

00081 {} // copy constructor


Member Function Documentation

int Semaphore::Post (  ) 

Returns:
0 if successful

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.

Returns:
0 if successful

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 }

Semaphore& Semaphore::operator= ( const Semaphore  )  [inline, private]

Definition at line 82 of file Semaphore.h.

00082 { return *this; } // assignment operator


Member Data Documentation

sem_t Semaphore::m_sem [private]

Definition at line 86 of file Semaphore.h.

Referenced by GetValue(), Post(), Semaphore(), TryWait(), Wait(), and ~Semaphore().


The documentation for this class was generated from the following files:
Page, code, and content Copyright (C) 2007 by Anders Hedström
Generated for C++ Sockets by  doxygen 1.4.4