}
start_program (argvp, environment, stderr_disp, stderr_fd, default_locale, rootdir);
}
-
+
ExternalProgram::ExternalProgram (const Arguments &argv,
const Environment & environment,
start_program (argvp, environment, stderr_disp, stderr_fd, default_locale, rootdir);
}
-
+
{
if (pid > 0)
{
- ExternalDataSource::close();
+ setBlocking( true );
+ while ( receiveLine().length() )
+ ; // discard any output instead of closing the pipe
+ //ExternalDataSource::close();
+
// Wait for child to exit
int ret;
- int status = 0;
+ int status = 0;
do
{
ret = waitpid(pid, &status, 0);