]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/crtslock.tex
new VC++ workspace file for wxBase
[wxWidgets.git] / docs / latex / wx / crtslock.tex
index b4212b2577183d34c9c78fea13911c26bc247b22..50bdef73d29603ded35d6d6b9c5e867e8c2cd27c 100644 (file)
@@ -6,10 +6,41 @@ 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).
 
 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 SetFoo()
+{
+    // 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{Derived from}
 
 None.
 
+\wxheading{Include files}
+
+<wx/thread.h>
+
 \wxheading{See also}
 
 \helpref{wxCriticalSection}{wxcriticalsection}, 
 \wxheading{See also}
 
 \helpref{wxCriticalSection}{wxcriticalsection}, 
@@ -19,14 +50,14 @@ None.
 
 \membersection{wxCriticalSectionLocker::wxCriticalSectionLocker}\label{wxcriticalsectionlockerctor}
 
 
 \membersection{wxCriticalSectionLocker::wxCriticalSectionLocker}\label{wxcriticalsectionlockerctor}
 
-\func{}{wxCriticalSectionLocker}{\param{wxCriticalSection *}{criticalsection}}
+\func{}{wxCriticalSectionLocker}{\param{wxCriticalSection\& }{criticalsection}}
 
 Constructs a wxCriticalSectionLocker object associated with given
 
 Constructs a wxCriticalSectionLocker object associated with given
-criticalsection which must be non NULL and enters it.
+{\it criticalsection} and enters it.
 
 \membersection{wxCriticalSectionLocker::\destruct{wxCriticalSectionLocker}}\label{wxcriticalsectionlockerdtor}
 
 \func{}{\destruct{wxCriticalSectionLocker}}{\void}
 
 
 \membersection{wxCriticalSectionLocker::\destruct{wxCriticalSectionLocker}}\label{wxcriticalsectionlockerdtor}
 
 \func{}{\destruct{wxCriticalSectionLocker}}{\void}
 
-Destuctor leaves the criticalsection.
+Destuctor leaves the critical section.