/* Create a child process which can exec() the filter program. */
pid = fork();
- if (filter_pid < 0)
+ if (pid < 0)
throw IOException("Unable to fork filter process");
- if (filter_pid > 0) {
+ if (pid > 0) {
/* Parent process */
close(fds[0]);
cloexec(fds[1]);
segment->fullname = path + "/" + segment->basename;
segment->file = new Tarfile(segment->fullname, segment->name);
segment->count = 0;
+ segment->size = 0;
segments[group] = segment;
} else {
segment->file->write_object(id, data, len);
segment->count++;
+ segment->size += len;
group_sizes[group] += len;
SHA1Checksum segment_checksum;
if (segment_checksum.process_file(segment->fullname.c_str())) {
string checksum = segment_checksum.checksum_str();
- db->SetSegmentChecksum(segment->name, segment->basename, checksum);
+ db->SetSegmentChecksum(segment->name, segment->basename, checksum,
+ segment->size);
}
}