Close some file descriptors that were left dangling before

This commit is contained in:
Eric Fischer
2016-04-05 14:07:24 -07:00
parent b10b436ac9
commit 4a572b810b
2 changed files with 54 additions and 45 deletions
+2 -4
View File
@@ -1151,10 +1151,7 @@ void radix1(int *geomfds_in, int *indexfds_in, int inputs, int prefix, int split
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
if (indexst.st_size == 0) { if (indexst.st_size != 0) {
continue; // no indices from this input
}
struct index *indexmap = mmap(NULL, indexst.st_size, PROT_READ, MAP_PRIVATE, indexfds_in[i], 0); struct index *indexmap = mmap(NULL, indexst.st_size, PROT_READ, MAP_PRIVATE, indexfds_in[i], 0);
if (indexmap == MAP_FAILED) { if (indexmap == MAP_FAILED) {
fprintf(stderr, "fd %lld, len %lld\n", (long long) indexfds_in[i], (long long) indexst.st_size); fprintf(stderr, "fd %lld, len %lld\n", (long long) indexfds_in[i], (long long) indexst.st_size);
@@ -1203,6 +1200,7 @@ void radix1(int *geomfds_in, int *indexfds_in, int inputs, int prefix, int split
perror("unmap geom"); perror("unmap geom");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
}
if (close(geomfds_in[i]) < 0) { if (close(geomfds_in[i]) < 0) {
perror("close geom"); perror("close geom");
+11
View File
@@ -1343,6 +1343,17 @@ int traverse_zooms(int *geomfd, off_t *geom_size, char *metabase, char *stringpo
} }
} }
int j;
for (j = 0; j < TEMP_FILES; j++) {
// Can be < 0 if there is only one source file, at z0
if (geomfd[j] >= 0) {
if (close(geomfd[j]) != 0) {
perror("close geom");
exit(EXIT_FAILURE);
}
}
}
if (!quiet) { if (!quiet) {
fprintf(stderr, "\n"); fprintf(stderr, "\n");
} }