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


    // do something else


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

Derived from


Include files


See also

wxCriticalSection, wxMutexLocker


wxCriticalSectionLocker(wxCriticalSection& criticalsection)

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



Destructor leaves the critical section.

ymasuda 平成17年11月19日