]> git.saurik.com Git - wxWidgets.git/commitdiff
corrected and expanded
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 22 Jan 2003 16:04:22 +0000 (16:04 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 22 Jan 2003 16:04:22 +0000 (16:04 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18859 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/conditn.tex

index 426e551d7d45b188ad6f4799c632d1f2139511ff..42fef3052eae0d6f281df4d8a2ddcc6ba6f7a91b 100644 (file)
@@ -79,6 +79,20 @@ call \helpref{wxThread::Wait}{wxthreadwait} on it, but this example does
 illustrate the importance of properly locking the mutex when using
 wxCondition.
 
+\wxheading{Constants}
+
+The following return codes are returned by wxCondition member functions:
+
+\begin{verbatim}
+enum wxCondError
+{
+    wxCOND_NO_ERROR = 0,    // successful completion
+    wxCOND_INVALID,         // object hasn't been initialized successfully
+    wxCOND_TIMEOUT,         // WaitTimeout() has timed out
+    wxCOND_MISC_ERROR       // some other error
+};
+\end{verbatim}
+
 \wxheading{Derived from}
 
 None.
@@ -100,6 +114,9 @@ None.
 Default and only constructor. The {\it mutex} must be locked by the caller
 before calling \helpref{Wait}{wxconditionwait} function.
 
+Use \helpref{IsOk}{wxconditionisok} to check if the object was successfully
+intiialized.
+
 \membersection{wxCondition::\destruct{wxCondition}}
 
 \func{}{\destruct{wxCondition}}{\void}
@@ -119,6 +136,13 @@ not.
 
 \helpref{wxCondition::Signal}{wxconditionsignal}
 
+\membersection{wxCondition::IsOk}\label{wxconditionisok}
+
+\constfunc{bool}{IsOk}{\void}
+
+Returns {\tt true} if the object had been initialized successfully, {\tt false} 
+if an error occured.
+
 \membersection{wxCondition::Signal}\label{wxconditionsignal}
 
 \func{void}{Signal}{\void}
@@ -137,26 +161,46 @@ condition is locked or not.
 
 \membersection{wxCondition::Wait}\label{wxconditionwait}
 
-\func{void}{Wait}{\void}
+\func{wxCondError}{Wait}{\void}
 
 Waits until the condition is signalled.
 
-\func{bool}{Wait}{\param{unsigned long}{ sec}, \param{unsigned long}{ nsec}}
+This method atomically releases the lock on the mutex associated with this
+condition (this is why it must be locked prior to calling Wait) and puts the
+thread to sleep until \helpref{Signal}{wxconditionsignal} or 
+\helpref{Broadcast}{wxconditionbroadcast} is called.
+
+Note that even if \helpref{Signal}{wxconditionsignal} had been called before
+Wait without waking up any thread, the thread would still wait for another one
+and so it is important to ensure that the condition will be signalled after
+Wait or the thread may sleep forever.
+
+\wxheading{Return value}
+
+Returns {\tt wxCOND\_NO\_ERROR} on success, another value if an error occured.
+
+\wxheading{See also}
+
+\helpref{WaitTimeout}{wxconditionwaittimeout}
+
+
+\membersection{wxCondition::WaitTimeout}\label{wxconditionwaittimeout}
+
+\func{wxCondError}{Wait}{\param{unsigned long}{ milliseconds}}
 
 Waits until the condition is signalled or the timeout has elapsed.
 
-Note that the mutex associated with this condition {\bf must} be acquired by
-the thread before calling this method.
+This method is identical to \helpref{Wait}{wxconditionwait} except that it
+returns, with the return code of {\tt wxCOND\_TIMEOUT} as soon as the given
+timeout expires.
 
 \wxheading{Parameters}
 
-\docparam{sec}{Timeout in seconds}
-
-\docparam{nsec}{Timeout nanoseconds component (added to {\it sec}).}
+\docparam{milliseconds}{Timeout in milliseconds}
 
 \wxheading{Return value}
 
-The second form returns {\tt true} if the condition has been signalled, or
-{\tt false} if it returned because the timeout has elapsed.
-
+Returns {\tt wxCOND\_NO\_ERROR} if the condition was signalled, 
+{\tt wxCOND\_TIMEOUT} if the timeout elapsed ebfore this happened or another
+error code from wxCondError enum.