![]() |
Home | Libraries | People | FAQ | More |
boost::interprocess::interprocess_semaphore
// In header: <boost/interprocess/sync/interprocess_semaphore.hpp> class interprocess_semaphore { public: // construct/copy/destruct (); ~(); // public member functions (); (); (); template<typename TimePoint> (); };
Wraps a interprocess_semaphore that can be placed in shared memory and can be shared between processes. Allows timed lock tries
interprocess_semaphore
public
construct/copy/destruct( initialCount);
Creates a interprocess_semaphore
with the given initial count. interprocess_exception
if there is an error.*<zwj></zwj>/
~();
Destroys the interprocess_semaphore
. Does not throw
interprocess_semaphore
public member functions();
Increments the interprocess_semaphore
count. If there are processes/threads blocked waiting for the interprocess_semaphore
, then one of these processes will return successfully from its wait function. If there is an error an interprocess_exception
exception is thrown.
();
Decrements the interprocess_semaphore
. If the interprocess_semaphore
value is not greater than zero, then the calling process/thread blocks until it can decrement the counter. If there is an error an interprocess_exception
exception is thrown.
();
Decrements the interprocess_semaphore
if the interprocess_semaphore
's value is greater than zero and returns true. If the value is not greater than zero returns false. If there is an error an interprocess_exception
exception is thrown.
template<typename TimePoint> ( abs_time);
Decrements the interprocess_semaphore
if the interprocess_semaphore
's value is greater than zero and returns true. Otherwise, waits for the interprocess_semaphore
to the posted or the timeout expires. If the timeout expires, the function returns false. If the interprocess_semaphore
is posted the function returns true. If there is an error throws sem_exception