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.
Derived from
None.
Include files
<wx/thread.h>
See also
wxCriticalSection, wxMutexLocker
Members
wxCriticalSectionLocker::wxCriticalSectionLocker
wxCriticalSectionLocker::~wxCriticalSectionLocker
wxCriticalSectionLocker(wxCriticalSection& criticalsection)
Constructs a wxCriticalSectionLocker object associated with given criticalsection and enters it.
~wxCriticalSectionLocker()
Destructor leaves the critical section.