Merge branch 'ds/multi-pack-index'
The multi-pack-index left mmapped file descriptors open when it does not have to. * ds/multi-pack-index: multi-pack-index: close file descriptor after mmap
This commit is contained in:
commit
29d74275c4
4
midx.c
4
midx.c
@ -72,9 +72,9 @@ struct multi_pack_index *load_multi_pack_index(const char *object_dir, int local
|
|||||||
FREE_AND_NULL(midx_name);
|
FREE_AND_NULL(midx_name);
|
||||||
|
|
||||||
midx_map = xmmap(NULL, midx_size, PROT_READ, MAP_PRIVATE, fd, 0);
|
midx_map = xmmap(NULL, midx_size, PROT_READ, MAP_PRIVATE, fd, 0);
|
||||||
|
close(fd);
|
||||||
|
|
||||||
FLEX_ALLOC_STR(m, object_dir, object_dir);
|
FLEX_ALLOC_STR(m, object_dir, object_dir);
|
||||||
m->fd = fd;
|
|
||||||
m->data = midx_map;
|
m->data = midx_map;
|
||||||
m->data_len = midx_size;
|
m->data_len = midx_size;
|
||||||
m->local = local;
|
m->local = local;
|
||||||
@ -190,8 +190,6 @@ void close_midx(struct multi_pack_index *m)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
munmap((unsigned char *)m->data, m->data_len);
|
munmap((unsigned char *)m->data, m->data_len);
|
||||||
close(m->fd);
|
|
||||||
m->fd = -1;
|
|
||||||
|
|
||||||
for (i = 0; i < m->num_packs; i++) {
|
for (i = 0; i < m->num_packs; i++) {
|
||||||
if (m->packs[i])
|
if (m->packs[i])
|
||||||
|
Loading…
Reference in New Issue
Block a user