diff options
| author | Carlos Martín Nieto <carlos@cmartin.tk> | 2012-05-09 13:11:50 +0200 |
|---|---|---|
| committer | Carlos Martín Nieto <carlos@cmartin.tk> | 2012-05-09 13:11:50 +0200 |
| commit | a640d79e84b4bf1d3c601f1a8ccf369427005797 (patch) | |
| tree | db47a4cb027ed09a99d03c264a12c46bcbfbf335 /src/indexer.c | |
| parent | 0f49200c9a72f7d8144eb663dee2c684d52ef42a (diff) | |
| download | libgit2-a640d79e84b4bf1d3c601f1a8ccf369427005797.tar.gz | |
indexer: close the pack's fd before renaming it
Windows gets upset if we rename a file with an open descriptor.
Diffstat (limited to 'src/indexer.c')
| -rw-r--r-- | src/indexer.c | 3 |
1 files changed, 2 insertions, 1 deletions
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); |
