Raul::Semaphore Class Reference

Trivial wrapper around POSIX semaphores (zero memory overhead). More...

#include <Semaphore.hpp>

List of all members.

Public Member Functions

 Semaphore (unsigned int initial)
void reset (unsigned int initial)
bool has_waiter ()
void post ()
 Increment (and signal any waiters).
void wait ()
 Wait until count is > 0, then decrement.
bool try_wait ()
 Non-blocking version of wait().


Detailed Description

Trivial wrapper around POSIX semaphores (zero memory overhead).

Member Function Documentation

void Raul::Semaphore::post (  )  [inline]

Increment (and signal any waiters).

Realtime safe.

Referenced by Raul::Slave::whip().

void Raul::Semaphore::wait (  )  [inline]

Wait until count is > 0, then decrement.

Note that sem_wait always returns 0 in practice. It returns nonzero when run in GDB, so the while is necessary to allow debugging.

Obviously not realtime safe.

Referenced by Raul::Command::operator()().

bool Raul::Semaphore::try_wait (  )  [inline]

Non-blocking version of wait().

Returns:
true if decrement was successful (lock was acquired).
Realtime safe?


The documentation for this class was generated from the following file:

Generated on Thu Nov 25 20:22:08 2010 for RAUL by  doxygen 1.5.9