X-Git-Url: http://git.vrable.net/?p=cumulus.git;a=blobdiff_plain;f=store.cc;h=ba6d692ca0feedffb8f87b079e470788c28dc7e3;hp=0b0349355629df3ee7eb0d923018afd9c6ed8758;hb=4b5f735fad8be7feb0ca53dcdba80f7b2c665fd8;hpb=11d62428e24dae5db789be7e85c5599e9f23b295 diff --git a/store.cc b/store.cc index 0b03493..ba6d692 100644 --- a/store.cc +++ b/store.cc @@ -96,7 +96,6 @@ FileFilter *FileFilter::New(int fd, const char *program) pid_t pid; int wrapped_fd = spawn_filter(fd, program, &pid); - close(fd); return new FileFilter(fd, wrapped_fd, pid); } @@ -106,6 +105,10 @@ int FileFilter::wait() if (pid == -1) return 0; + // The raw file descriptor was held open to track the output file size, but + // is not needed any longer. + close(fd_raw); + int status; if (waitpid(pid, &status, 0) < 0) { fprintf(stderr, "Error waiting for filter process: %m\n");