Added wxYieldIfNeeded

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9410 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2001-02-22 12:09:06 +00:00
parent b7aaabf86f
commit cb2713bfa8
7 changed files with 138 additions and 26 deletions

View File

@@ -855,12 +855,22 @@ void wxCYield()
}
// Yield to other processes
static bool gs_inYield = FALSE;
bool wxYield()
{
#if wxUSE_THREADS
YieldToAnyThread() ;
#ifdef __WXDEBUG__
if (gs_inYield)
wxFAIL_MSG( wxT("wxYield called recursively" ) );
#endif
EventRecord event ;
gs_inYield = TRUE;
#if wxUSE_THREADS
YieldToAnyThread() ;
#endif
EventRecord event ;
long sleepTime = 0 ; //::GetCaretTime();
@@ -870,7 +880,19 @@ bool wxYield()
}
wxMacProcessNotifierAndPendingEvents() ;
return TRUE;
gs_inYield = FALSE;
return TRUE;
}
// Yield to incoming messages; but fail silently if recursion is detected.
bool wxYieldIfNeeded()
{
if (gs_inYield)
return FALSE;
return wxYield();
}
// platform specifics

View File

@@ -855,12 +855,22 @@ void wxCYield()
}
// Yield to other processes
static bool gs_inYield = FALSE;
bool wxYield()
{
#if wxUSE_THREADS
YieldToAnyThread() ;
#ifdef __WXDEBUG__
if (gs_inYield)
wxFAIL_MSG( wxT("wxYield called recursively" ) );
#endif
EventRecord event ;
gs_inYield = TRUE;
#if wxUSE_THREADS
YieldToAnyThread() ;
#endif
EventRecord event ;
long sleepTime = 0 ; //::GetCaretTime();
@@ -870,7 +880,19 @@ bool wxYield()
}
wxMacProcessNotifierAndPendingEvents() ;
return TRUE;
gs_inYield = FALSE;
return TRUE;
}
// Yield to incoming messages; but fail silently if recursion is detected.
bool wxYieldIfNeeded()
{
if (gs_inYield)
return FALSE;
return wxYield();
}
// platform specifics