made TestDestroy public and virtual
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27027 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -102,7 +102,7 @@ One of:
|
|||||||
|
|
||||||
Calling \helpref{Delete}{wxthreaddelete} is a graceful way to terminate the
|
Calling \helpref{Delete}{wxthreaddelete} is a graceful way to terminate the
|
||||||
thread. It asks the thread to terminate and, if the thread code is well
|
thread. It asks the thread to terminate and, if the thread code is well
|
||||||
written, the thread will terminate after the next call to
|
written, the thread will terminate after the next call to
|
||||||
\helpref{TestDestroy}{wxthreadtestdestroy} which should happen quite soon.
|
\helpref{TestDestroy}{wxthreadtestdestroy} which should happen quite soon.
|
||||||
|
|
||||||
However, if the thread doesn't call \helpref{TestDestroy}{wxthreadtestdestroy}
|
However, if the thread doesn't call \helpref{TestDestroy}{wxthreadtestdestroy}
|
||||||
@@ -341,17 +341,21 @@ Sets the thread concurrency level for this process. This is, roughly, the
|
|||||||
number of threads that the system tries to schedule to run in parallel.
|
number of threads that the system tries to schedule to run in parallel.
|
||||||
The value of $0$ for {\it level} may be used to set the default one.
|
The value of $0$ for {\it level} may be used to set the default one.
|
||||||
|
|
||||||
Returns true on success or false otherwise (for example, if this function is
|
Returns \true on success or false otherwise (for example, if this function is
|
||||||
not implemented for this platform -- currently everything except Solaris).
|
not implemented for this platform -- currently everything except Solaris).
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxThread::TestDestroy}\label{wxthreadtestdestroy}
|
\membersection{wxThread::TestDestroy}\label{wxthreadtestdestroy}
|
||||||
|
|
||||||
\func{bool}{TestDestroy}{\void}
|
\func{virtual bool}{TestDestroy}{\void}
|
||||||
|
|
||||||
This function should be called periodically by the thread to ensure that calls
|
This function should be called periodically by the thread to ensure that calls
|
||||||
to \helpref{Pause}{wxthreadpause} and \helpref{Delete}{wxthreaddelete} will
|
to \helpref{Pause}{wxthreadpause} and \helpref{Delete}{wxthreaddelete} will
|
||||||
work. If it returns true, the thread should exit as soon as possible.
|
work. If it returns \true, the thread should exit as soon as possible.
|
||||||
|
|
||||||
|
Notice that under some platforms (POSIX), implementation of
|
||||||
|
\helpref{Pause}{wxthreadpause} also relies on this function being called, so
|
||||||
|
not calling it would prevent both stopping and suspending thread from working.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxThread::This}\label{wxthreadthis}
|
\membersection{wxThread::This}\label{wxthreadthis}
|
||||||
|
@@ -177,10 +177,10 @@ class WXDLLIMPEXP_BASE wxMutexLocker
|
|||||||
public:
|
public:
|
||||||
// lock the mutex in the ctor
|
// lock the mutex in the ctor
|
||||||
wxMutexLocker(wxMutex& mutex)
|
wxMutexLocker(wxMutex& mutex)
|
||||||
: m_isOk(FALSE), m_mutex(mutex)
|
: m_isOk(false), m_mutex(mutex)
|
||||||
{ m_isOk = ( m_mutex.Lock() == wxMUTEX_NO_ERROR ); }
|
{ m_isOk = ( m_mutex.Lock() == wxMUTEX_NO_ERROR ); }
|
||||||
|
|
||||||
// returns TRUE if mutex was successfully locked in ctor
|
// returns true if mutex was successfully locked in ctor
|
||||||
bool IsOk() const
|
bool IsOk() const
|
||||||
{ return m_isOk; }
|
{ return m_isOk; }
|
||||||
|
|
||||||
@@ -315,7 +315,7 @@ public:
|
|||||||
// dtor is not virtual, don't use this class polymorphically
|
// dtor is not virtual, don't use this class polymorphically
|
||||||
~wxCondition();
|
~wxCondition();
|
||||||
|
|
||||||
// return TRUE if the condition has been created successfully
|
// return true if the condition has been created successfully
|
||||||
bool IsOk() const;
|
bool IsOk() const;
|
||||||
|
|
||||||
// NB: the associated mutex MUST be locked beforehand by the calling thread
|
// NB: the associated mutex MUST be locked beforehand by the calling thread
|
||||||
@@ -328,8 +328,8 @@ public:
|
|||||||
|
|
||||||
// exactly as Wait() except that it may also return if the specified
|
// exactly as Wait() except that it may also return if the specified
|
||||||
// timeout ellapses even if the condition hasn't been signalled: in this
|
// timeout ellapses even if the condition hasn't been signalled: in this
|
||||||
// case, the return value is FALSE, otherwise (i.e. in case of a normal
|
// case, the return value is false, otherwise (i.e. in case of a normal
|
||||||
// return) it is TRUE
|
// return) it is true
|
||||||
//
|
//
|
||||||
// the timeeout parameter specifies a interval that needs to be waited in
|
// the timeeout parameter specifies a interval that needs to be waited in
|
||||||
// milliseconds
|
// milliseconds
|
||||||
@@ -377,7 +377,7 @@ public:
|
|||||||
// dtor is not virtual, don't use this class polymorphically
|
// dtor is not virtual, don't use this class polymorphically
|
||||||
~wxSemaphore();
|
~wxSemaphore();
|
||||||
|
|
||||||
// return TRUE if the semaphore has been created successfully
|
// return true if the semaphore has been created successfully
|
||||||
bool IsOk() const;
|
bool IsOk() const;
|
||||||
|
|
||||||
// wait indefinitely, until the semaphore count goes beyond 0
|
// wait indefinitely, until the semaphore count goes beyond 0
|
||||||
@@ -463,7 +463,7 @@ public:
|
|||||||
// default value (usually acceptable, but may not yield the best
|
// default value (usually acceptable, but may not yield the best
|
||||||
// performance for this process)
|
// performance for this process)
|
||||||
//
|
//
|
||||||
// Returns TRUE on success, FALSE otherwise (if not implemented, for
|
// Returns true on success, false otherwise (if not implemented, for
|
||||||
// example)
|
// example)
|
||||||
static bool SetConcurrency(size_t level);
|
static bool SetConcurrency(size_t level);
|
||||||
|
|
||||||
@@ -550,16 +550,16 @@ public:
|
|||||||
// NB: this function will not be called if the thread is Kill()ed
|
// NB: this function will not be called if the thread is Kill()ed
|
||||||
virtual void OnExit() { }
|
virtual void OnExit() { }
|
||||||
|
|
||||||
|
// Returns true if the thread was asked to terminate: this function should
|
||||||
|
// be called by the thread from time to time, otherwise the main thread
|
||||||
|
// will be left forever in Delete()!
|
||||||
|
virtual bool TestDestroy();
|
||||||
|
|
||||||
// dtor is public, but the detached threads should never be deleted - use
|
// dtor is public, but the detached threads should never be deleted - use
|
||||||
// Delete() instead (or leave the thread terminate by itself)
|
// Delete() instead (or leave the thread terminate by itself)
|
||||||
virtual ~wxThread();
|
virtual ~wxThread();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Returns TRUE if the thread was asked to terminate: this function should
|
|
||||||
// be called by the thread from time to time, otherwise the main thread
|
|
||||||
// will be left forever in Delete()!
|
|
||||||
bool TestDestroy();
|
|
||||||
|
|
||||||
// exits from the current thread - can be called only from this thread
|
// exits from the current thread - can be called only from this thread
|
||||||
void Exit(ExitCode exitcode = 0);
|
void Exit(ExitCode exitcode = 0);
|
||||||
|
|
||||||
@@ -742,7 +742,7 @@ public:
|
|||||||
// thread
|
// thread
|
||||||
extern void WXDLLIMPEXP_BASE wxMutexGuiLeaveOrEnter();
|
extern void WXDLLIMPEXP_BASE wxMutexGuiLeaveOrEnter();
|
||||||
|
|
||||||
// returns TRUE if the main thread has GUI lock
|
// returns true if the main thread has GUI lock
|
||||||
extern bool WXDLLIMPEXP_BASE wxGuiOwnedByMainThread();
|
extern bool WXDLLIMPEXP_BASE wxGuiOwnedByMainThread();
|
||||||
|
|
||||||
#ifndef __WXPM__
|
#ifndef __WXPM__
|
||||||
@@ -750,7 +750,7 @@ public:
|
|||||||
extern void WXDLLIMPEXP_BASE wxWakeUpMainThread();
|
extern void WXDLLIMPEXP_BASE wxWakeUpMainThread();
|
||||||
#endif // !OS/2
|
#endif // !OS/2
|
||||||
|
|
||||||
// return TRUE if the main thread is waiting for some other to terminate:
|
// return true if the main thread is waiting for some other to terminate:
|
||||||
// wxApp then should block all "dangerous" messages
|
// wxApp then should block all "dangerous" messages
|
||||||
extern bool WXDLLIMPEXP_BASE wxIsWaitingForThread();
|
extern bool WXDLLIMPEXP_BASE wxIsWaitingForThread();
|
||||||
#endif // MSW, Mac, OS/2
|
#endif // MSW, Mac, OS/2
|
||||||
|
Reference in New Issue
Block a user