Version: 3.1.0
wxCriticalSectionLocker Class Reference

#include <wx/thread.h>

Detailed Description

This is a small helper class to be used with wxCriticalSection objects.

A wxCriticalSectionLocker enters the critical section in the constructor and leaves it in the destructor making it much more difficult to forget to leave a critical section (which, in general, will lead to serious and difficult to debug problems).

Example of using it:

void Set Foo()
{
// gs_critSect is some (global) critical section guarding access to the
// object "foo"
wxCriticalSectionLocker locker(gs_critSect);
if ( ... )
{
// do something
...
return;
}
// do something else
...
return;
}

Without wxCriticalSectionLocker, you would need to remember to manually leave the critical section before each return.

Library:  wxBase
Category:  Threading
See Also
wxCriticalSection, wxMutexLocker

Public Member Functions

 wxCriticalSectionLocker (wxCriticalSection &criticalsection)
 Constructs a wxCriticalSectionLocker object associated with given criticalsection and enters it.
 
 ~wxCriticalSectionLocker ()
 Destructor leaves the critical section.
 

Constructor & Destructor Documentation

wxCriticalSectionLocker::wxCriticalSectionLocker ( wxCriticalSection criticalsection)

Constructs a wxCriticalSectionLocker object associated with given criticalsection and enters it.

wxCriticalSectionLocker::~wxCriticalSectionLocker ( )

Destructor leaves the critical section.