extern int verbose;
+
+/****************************************************************************
+wait for a process to exit, calling io_flush while waiting
+****************************************************************************/
+void wait_process(pid_t pid, int *status)
+{
+ while (waitpid(pid, status, WNOHANG) == 0) {
+ msleep(20);
+ io_flush();
+ }
+ *status = WEXITSTATUS(*status);
+}
+
static void report(int f)
{
time_t t = time(NULL);
close(recv_pipe[1]);
close(error_pipe[1]);
- io_close_input(f_in);
if (f_in != f_out) close(f_in);
io_start_buffering(f_out);