X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/954b8ae60391d18b87a604e7919c87c0c6ae208b..4d76ea948a703e19008366bf79411dc9bd58b0c1:/docs/latex/wx/crtslock.tex diff --git a/docs/latex/wx/crtslock.tex b/docs/latex/wx/crtslock.tex index a9515b8137..1bfa41ea9e 100644 --- a/docs/latex/wx/crtslock.tex +++ b/docs/latex/wx/crtslock.tex @@ -6,6 +6,33 @@ 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. @@ -23,14 +50,14 @@ None. \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. +Destructor leaves the critical section.