]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/crtslock.tex
As per the wx-dev discussion in early Jan, replaced
[wxWidgets.git] / docs / latex / wx / crtslock.tex
index 6a62153d4b111c083c439fe003d6ab56480cf5e1..50bdef73d29603ded35d6d6b9c5e867e8c2cd27c 100644 (file)
@@ -6,24 +6,58 @@ 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 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{Include files}
+
+<wx/thread.h>
+
 \wxheading{See also}
 
-\helpref{wxCriticalSection}{wxcriticalsection},
+\helpref{wxCriticalSection}{wxcriticalsection}, 
 \helpref{wxMutexLocker}{wxmutexlocker}
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 \membersection{wxCriticalSectionLocker::wxCriticalSectionLocker}\label{wxcriticalsectionlockerctor}
-\func{}{wxCriticalSectionLocker}{\param{wxCriticalSection *}{criticalsection}}
+
+\func{}{wxCriticalSectionLocker}{\param{wxCriticalSection\& }{criticalsection}}
 
 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}
 
-Destuctor leaves the criticalsection.
+Destuctor leaves the critical section.
+