diff options
-rw-r--r-- | makefile | 10 | ||||
-rw-r--r-- | qidx.c | 11 |
2 files changed, 13 insertions, 8 deletions
@@ -15,10 +15,16 @@ so_minor := 1 CC=gcc -CFLAGS = -Wall -pedantic $(debug) +CFLAGS = -Wall -pedantic $(debug) $(opt) LDFLAGS := -lhts -lm -fPIC -# debug = -fsanitize=address -O2 -g + +ifeq ($(DEBUG),"1") + debug = -fsanitize=address -g +else + opt = -O2 +endif + SRC_EXT:=%.c _STD_BUILD=$(CC) $(CFLAGS) $(filter $(SRC_EXT) %.o, $^) -o $@ @@ -612,11 +612,6 @@ qidx_err_t qidx_create(qidx_fp_t ** _fp, int fd, uint32_t _n_buckets, uint32_t m off += max_bucket_size; } - // REVISIT - for(size_t i = n_buckets - 1; i > 0; i--) { - fp->htab->rb_start[fp->htab->buckets[i].offset] = '\1'; - } - return QIDX_OK; } @@ -629,12 +624,16 @@ qidx_err_t qidx_close(qidx_fp_t * fp) { fp->buckets[i].n_bytes = htole32(htab->buckets[i].n_bytes); fp->buckets[i].offset = htole64(htab->buckets[i].offset); } + + if(msync(fp->map, fp->len, MS_SYNC) == -1) { + return QIDX_MAP_FAIL; + } } free(htab->buckets); free(htab); - if(munmap(fp->map, fp->len) != -1) { + if(munmap(fp->map, fp->len) == -1) { return QIDX_MAP_FAIL; } |