| Version: 3.0.2

- Main Page
- Related Pages
- Categories
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
wxCriticalSectionLocker Class Reference
Threading

`#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.