perror_msg("pipe");
return(NULL);
}
+
+ /* If we don't flush, we end up with two copies of anything pending,
+ one from the parent, one from the child */
+ fflush(stdout);
+ fflush(stderr);
+
if ((*pid = fork()) == -1) {
perror_msg("fork");
return(NULL);
perror_msg("waitpid");
return -1;
}
-
+
if (WIFSIGNALED(status)) {
error_msg("Unzip process killed by signal %d.\n",
WTERMSIG(status));