Skip to content

Commit 6c7ff7c

Browse files
derrickstoleegitster
authored andcommitted
multi-pack-index: close file descriptor after mmap
The multi-pack-index subsystem was not closing its file descriptor after memory-mapping the file contents. After this mmap() succeeds, there is no need to keep the file descriptor open. In fact, there is signficant reason to close it so we do not run out of descriptors. Signed-off-by: Derrick Stolee <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 6a22d52 commit 6c7ff7c

File tree

2 files changed

+1
-5
lines changed

2 files changed

+1
-5
lines changed

midx.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ struct multi_pack_index *load_multi_pack_index(const char *object_dir, int local
6868
FREE_AND_NULL(midx_name);
6969

7070
midx_map = xmmap(NULL, midx_size, PROT_READ, MAP_PRIVATE, fd, 0);
71+
close(fd);
7172

7273
FLEX_ALLOC_MEM(m, object_dir, object_dir, strlen(object_dir));
73-
m->fd = fd;
7474
m->data = midx_map;
7575
m->data_len = midx_size;
7676
m->local = local;
@@ -184,8 +184,6 @@ static void close_midx(struct multi_pack_index *m)
184184
{
185185
uint32_t i;
186186
munmap((unsigned char *)m->data, m->data_len);
187-
close(m->fd);
188-
m->fd = -1;
189187

190188
for (i = 0; i < m->num_packs; i++) {
191189
if (m->packs[i]) {

midx.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
struct multi_pack_index {
77
struct multi_pack_index *next;
88

9-
int fd;
10-
119
const unsigned char *data;
1210
size_t data_len;
1311

0 commit comments

Comments
 (0)