return bool from wxStreamTempInputBuffer::Update() indicating if anything was done; don't sleep in wxExecute() if IO is coming

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52678 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-03-22 03:50:35 +00:00
parent eacb6b56a6
commit 4d425deeb2
3 changed files with 34 additions and 36 deletions

View File

@@ -987,13 +987,13 @@ long wxExecute(const wxString& cmd, int flags, wxProcess *handler)
while ( data->state )
{
#if wxUSE_STREAMS && !defined(__WXWINCE__)
bufOut.Update();
bufErr.Update();
if ( !bufOut.Update() && !bufErr.Update() )
#endif // wxUSE_STREAMS
// don't eat 100% of the CPU -- ugly but anything else requires
// real async IO which we don't have for the moment
::Sleep(50);
{
// don't eat 100% of the CPU -- ugly but anything else requires
// real async IO which we don't have for the moment
::Sleep(50);
}
// we must process messages or we'd never get wxWM_PROC_TERMINATED
traits->AlwaysYield();