From a640d79e84b4bf1d3c601f1a8ccf369427005797 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Wed, 9 May 2012 13:11:50 +0200 Subject: [PATCH] indexer: close the pack's fd before renaming it Windows gets upset if we rename a file with an open descriptor. --- src/indexer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/indexer.c b/src/indexer.c index d2e492c39..0baa194d6 100644 --- a/src/indexer.c +++ b/src/indexer.c @@ -532,6 +532,7 @@ int git_indexer_stream_finalize(git_indexer_stream *idx, git_indexer_stats *stat goto on_error; git_mwindow_free_all(&idx->pack->mwf); + p_close(idx->pack->mwf.fd); if (index_path_stream(&filename, idx, ".pack") < 0) goto on_error; @@ -544,6 +545,7 @@ int git_indexer_stream_finalize(git_indexer_stream *idx, git_indexer_stats *stat on_error: git_mwindow_free_all(&idx->pack->mwf); + p_close(idx->pack->mwf.fd); git_filebuf_cleanup(&idx->index_file); git_buf_free(&filename); return -1; @@ -559,7 +561,6 @@ void git_indexer_stream_free(git_indexer_stream *idx) if (idx == NULL) return; - p_close(idx->pack->mwf.fd); git_vector_foreach(&idx->objects, i, e) git__free(e); git_vector_free(&idx->objects);