git-commit-vandalism/Documentation/technical
Michael Haggerty 8e86c155d2 close_lock_file(): if close fails, roll back
If closing an open lockfile fails, then we cannot be sure of the
contents of the lockfile, so there is nothing sensible to do but
delete it. This change also insures that the lock_file object is left
in a defined state in this error path (namely, unlocked).

The only caller that is ultimately affected by this change is
try_merge_strategy() -> write_locked_index(), which can call
close_lock_file() via various execution paths. This caller uses a
static lock_file object which previously could have been reused after
a failed close_lock_file() even though it was still in locked state.
This change causes the lock_file object to be unlocked on failure,
thus fixing this error-handling path.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-01 13:45:13 -07:00
..
.gitignore
api-allocation-growing.txt add macro REALLOC_ARRAY 2014-09-18 09:13:38 -07:00
api-argv-array.txt argv-array: drop "detach" code 2014-05-15 09:49:12 -07:00
api-builtin.txt docs: document RUN_SETUP_GENTLY and clarify RUN_SETUP 2014-04-30 11:28:21 -07:00
api-config.txt Merge branch 'ta/config-set-1' 2014-09-11 10:33:25 -07:00
api-credentials.txt doc: various spelling fixes 2013-04-12 12:00:52 -07:00
api-decorate.txt
api-diff.txt diff_opt: track whether flags have been set explicitly 2013-05-10 10:24:17 -07:00
api-directory-listing.txt dir.c: git-status --ignored: don't scan the work tree twice 2013-04-15 12:36:42 -07:00
api-gitattributes.txt Documentation: fix misuses of "nor" 2014-03-31 15:16:22 -07:00
api-grep.txt
api-hashmap.txt hashmap: add string interning API 2014-07-07 13:56:38 -07:00
api-history-graph.txt graph.c: infinite loop in git whatchanged --graph -m 2012-09-25 11:07:15 -07:00
api-in-core-index.txt
api-index-skel.txt Documentation: avoid poor-man's small caps GIT 2013-02-01 13:53:25 -08:00
api-index.sh
api-lockfile.txt close_lock_file(): if close fails, roll back 2014-10-01 13:45:13 -07:00
api-merge.txt
api-object-access.txt
api-parse-options.txt parse-options: remove unused OPT_SET_PTR 2014-03-31 13:01:19 -07:00
api-quote.txt
api-ref-iteration.txt ref-iteration doc: add_submodule_odb() returns 0 for success 2013-12-03 10:40:40 -08:00
api-remote.txt api-remote.txt: correct section "struct refspec" 2013-10-24 13:28:28 -07:00
api-revision-walking.txt many small typofixes 2013-07-29 12:32:25 -07:00
api-run-command.txt run-command: introduce child_process_init() 2014-08-20 09:54:58 -07:00
api-setup.txt guard against new pathspec magic in pathspec matching code 2013-07-15 10:56:07 -07:00
api-sha1-array.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
api-sigchain.txt
api-strbuf.txt Merge branch 'rs/export-strbuf-addchars' 2014-09-19 11:38:39 -07:00
api-string-list.txt string-list: add string_list initializer helper function 2014-07-21 10:23:36 -07:00
api-trace.txt api-trace.txt: add trace API documentation 2014-07-13 21:25:21 -07:00
api-tree-walking.txt
api-xdiff-interface.txt
bitmap-format.txt pack-bitmap: implement optional name_hash cache 2013-12-30 12:19:23 -08:00
http-protocol.txt Merge branch 'ye/doc-http-proto' 2014-06-25 12:23:52 -07:00
index-format.txt read-cache: split-index mode 2014-06-13 11:49:39 -07:00
pack-format.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
pack-heuristics.txt pack-heuristics.txt: mark up the file header properly 2014-01-13 11:18:34 -08:00
pack-protocol.txt Document LF appearing in shallow command during send-pack/receive-pack 2014-08-28 15:13:55 -07:00
protocol-capabilities.txt protocol-capabilities.txt: document no-done 2014-02-10 10:21:33 -08:00
protocol-common.txt Documentation: fix misuses of "nor" 2014-03-31 15:16:22 -07:00
racy-git.txt typofix: documentation 2013-07-22 16:06:48 -07:00
send-pack-pipeline.txt Change headline of technical/send-pack-pipeline.txt to not confuse its content with content from git-send-pack.txt 2012-10-16 16:09:09 -07:00
shallow.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
trivial-merge.txt Documentation/technical: convert plain text files to asciidoc 2012-10-16 16:09:09 -07:00