PTLib
Version 2.14.3
|
This class waits for the semaphore on construction and automatically signals the semaphore on destruction. More...
#include <psync.h>
Public Member Functions | |
PWaitAndSignal (const PSync &sem, PBoolean wait=true) | |
Create the semaphore wait instance. More... | |
~PWaitAndSignal () | |
Signal the semaphore. More... | |
Protected Attributes | |
PSync & | sync |
This class waits for the semaphore on construction and automatically signals the semaphore on destruction.
Any descendent of PSemaphore may be used.
This is very useful for constructs such as:
void func()
{
PWaitAndSignal mutexWait(myMutex);
if (condition)
return;
do_something();
if (other_condition)
return;
do_something_else();
}
Create the semaphore wait instance.
This will wait on the specified semaphore using the Wait() function before returning.
sem | Semaphore descendent to wait/signal. |
wait | Wait for semaphore before returning. |
References sync, and PSync::Wait().
|
inline |
Signal the semaphore.
This will execute the Signal() function on the semaphore that was used in the construction of this instance.
References PSync::Signal(), and sync.
|
protected |
Referenced by PWaitAndSignal(), and ~PWaitAndSignal().