// headers
// ----------------------------------------------------------------------------
+// for compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
#include "wx/defs.h"
#include "wx/string.h"
{
ARGS_CLEANUP;
+ // save it for WaitForChild() use
+ execData.pid = pid;
+
// prepare for IO redirection
#if wxUSE_STREAMS
// 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();
}
}
+#endif // wxUSE_GUI
+#if wxUSE_BASE
+
void wxHandleProcessTermination(wxEndProcessData *proc_data)
{
// notify user about termination if required
}
}
-#endif // wxUSE_GUI
-
+#endif // wxUSE_BASE