PTLib  Version 2.12.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PWriteWaitAndSignal Class Reference

This class starts a write operation for the PReadWriteMutex on construction and automatically ends the write operation on destruction. More...

#include <syncthrd.h>

Collaboration diagram for PWriteWaitAndSignal:

Public Member Functions

 PWriteWaitAndSignal (const PReadWriteMutex &rw, PBoolean start=true)
 Create the PWriteWaitAndSignal wait instance. More...
 
 ~PWriteWaitAndSignal ()
 End write operation on the PReadWriteMutex. More...
 

Protected Attributes

PReadWriteMutexmutex
 

Detailed Description

This class starts a write operation for the PReadWriteMutex on construction and automatically ends the write operation on destruction.

This is very useful for constructs such as:


    void func()
    {
      PWriteWaitAndSignal mutexWait(myMutex);
      if (condition)
        return;
      do_something();
      if (other_condition)
        return;
      do_something_else();
    }

Constructor & Destructor Documentation

PWriteWaitAndSignal::PWriteWaitAndSignal ( const PReadWriteMutex rw,
PBoolean  start = true 
)

Create the PWriteWaitAndSignal wait instance.

This will wait on the specified PReadWriteMutex using the StartWrite() function before returning.

Parameters
rwPReadWriteMutex descendent to wait/signal.
startStart write operation on PReadWriteMutex before returning.
PWriteWaitAndSignal::~PWriteWaitAndSignal ( )

End write operation on the PReadWriteMutex.

This will execute the EndWrite() function on the PReadWriteMutex that was used in the construction of this instance.

Member Data Documentation

PReadWriteMutex& PWriteWaitAndSignal::mutex
protected

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