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 practise. 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 31 Mar 2010 for RAUL by  doxygen 1.6.1