#include </home/zeitlin/src/wx/github/interface/wx/thread.h>
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
.
Public Member Functions | |
wxCriticalSectionLocker (wxCriticalSection &criticalsection) | |
Constructs a wxCriticalSectionLocker object associated with given criticalsection and enters it. | |
~wxCriticalSectionLocker () | |
Destructor leaves the critical section. |
wxCriticalSectionLocker::wxCriticalSectionLocker | ( | wxCriticalSection & | criticalsection | ) |
Constructs a wxCriticalSectionLocker object associated with given criticalsection and enters it.
wxCriticalSectionLocker::~wxCriticalSectionLocker | ( | ) |
Destructor leaves the critical section.