X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2dbc444a1986c63f8e41731fd75f92c43e6af4da..5c45e86bac1d3f0b08a452f6436481824f79fe5a:/src/unix/utilsunx.cpp diff --git a/src/unix/utilsunx.cpp b/src/unix/utilsunx.cpp index 8709321cf1..2447a559fd 100644 --- a/src/unix/utilsunx.cpp +++ b/src/unix/utilsunx.cpp @@ -1141,14 +1141,27 @@ int wxGUIAppTraits::WaitForChild(wxExecuteData& execData) // process terminates while ( endProcData->pid != 0 ) { + bool idle = true; + #if wxUSE_STREAMS if ( execData.bufOut ) + { execData.bufOut->Update(); + idle = false; + } if ( execData.bufErr ) + { execData.bufErr->Update(); + idle = false; + } #endif // wxUSE_STREAMS + // don't consume 100% of the CPU while we're sitting this in this + // loop + if ( idle ) + wxUsleep(1); + // give GTK+ a chance to call GTK_EndProcessDetector here and // also repaint the GUI wxYield(); @@ -1189,5 +1202,4 @@ void wxHandleProcessTermination(wxEndProcessData *proc_data) } } - #endif // wxUSE_BASE