diff options
author | Junio C Hamano <gitster@pobox.com> | 2019-06-13 23:19:43 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-06-13 23:19:43 +0300 |
commit | 2a983b227dd6df4d8db6e53e2f5be8afad061b60 (patch) | |
tree | 7dd65fe43580ec0eea3899479f28b849191b6e57 | |
parent | 813a3a2ab7b29ad003fc6b8e9b3c4b9421dd36d5 (diff) | |
parent | 3203566a7109e2b83519b379581005cee178c3fd (diff) |
Merge branch 'mh/import-transport-fd-fix'
The ownership rule for the file descriptor to fast-import remote
backend was mixed up, leading to unrelated file descriptor getting
closed, which has been fixed.
* mh/import-transport-fd-fix:
Use xmmap_gently instead of xmmap in use_pack
dup() the input fd for fast-import used for remote helpers
-rw-r--r-- | packfile.c | 2 | ||||
-rw-r--r-- | transport-helper.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/packfile.c b/packfile.c index 49c8544ff4..d786ec7312 100644 --- a/packfile.c +++ b/packfile.c @@ -640,7 +640,7 @@ unsigned char *use_pack(struct packed_git *p, while (packed_git_limit < pack_mapped && unuse_one_window(p)) ; /* nothing */ - win->base = xmmap(NULL, win->len, + win->base = xmmap_gently(NULL, win->len, PROT_READ, MAP_PRIVATE, p->pack_fd, win->offset); if (win->base == MAP_FAILED) diff --git a/transport-helper.c b/transport-helper.c index cec83bd663..c7e17ec9cb 100644 --- a/transport-helper.c +++ b/transport-helper.c @@ -423,7 +423,7 @@ static int get_importer(struct transport *transport, struct child_process *fasti struct helper_data *data = transport->data; int cat_blob_fd, code; child_process_init(fastimport); - fastimport->in = helper->out; + fastimport->in = xdup(helper->out); argv_array_push(&fastimport->args, "fast-import"); argv_array_push(&fastimport->args, debug ? "--stats" : "--quiet"); |