File: crtslock.tex

package info (click to toggle)
wxwidgets2.8 2.8.10.1-3
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 239,052 kB
  • ctags: 289,550
  • sloc: cpp: 1,838,857; xml: 396,717; python: 282,506; ansic: 126,171; makefile: 51,406; sh: 14,581; asm: 299; sql: 258; lex: 194; perl: 139; yacc: 128; pascal: 95; php: 39; lisp: 38; tcl: 24; haskell: 20; java: 18; cs: 18; erlang: 17; ruby: 16; ada: 9; ml: 9; csh: 9
file content (63 lines) | stat: -rw-r--r-- 1,622 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
\section{\class{wxCriticalSectionLocker}}\label{wxcriticalsectionlocker}

This is a small helper class to be used with \helpref{wxCriticalSection}{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:

\begin{verbatim}
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;
}
\end{verbatim}

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

\wxheading{Derived from}

None.

\wxheading{Include files}

<wx/thread.h>

\wxheading{See also}

\helpref{wxCriticalSection}{wxcriticalsection}, 
\helpref{wxMutexLocker}{wxmutexlocker}

\latexignore{\rtfignore{\wxheading{Members}}}

\membersection{wxCriticalSectionLocker::wxCriticalSectionLocker}\label{wxcriticalsectionlockerctor}

\func{}{wxCriticalSectionLocker}{\param{wxCriticalSection\& }{criticalsection}}

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

\membersection{wxCriticalSectionLocker::\destruct{wxCriticalSectionLocker}}\label{wxcriticalsectionlockerdtor}

\func{}{\destruct{wxCriticalSectionLocker}}{\void}

Destructor leaves the critical section.