]> git.ipfire.org Git - thirdparty/git.git/commit - fast-import.c
lock_file: make function-local locks non-static
authorMartin Ågren <martin.agren@gmail.com>
Wed, 9 May 2018 20:55:38 +0000 (22:55 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 10 May 2018 05:54:45 +0000 (14:54 +0900)
commitb227586831ed393e1d60629bfedcef01be4b9c22
treec58f4d54e1818bf4969d77840f47e893cee7b4de
parent3c6fad4a3fcc9a01dd3d9678360907271ad85920
lock_file: make function-local locks non-static

Placing `struct lock_file`s on the stack used to be a bad idea, because
the temp- and lockfile-machinery would keep a pointer into the struct.
But after 076aa2cbd (tempfile: auto-allocate tempfiles on heap,
2017-09-05), we can safely have lockfiles on the stack. (This applies
even if a user returns early, leaving a locked lock behind.)

These `struct lock_file`s are local to their respective functions and we
can drop their staticness.

For good measure, I have inspected these sites and come to believe that
they always release the lock, with the possible exception of bailing out
using `die()` or `exit()` or by returning from a `cmd_foo()`.

As pointed out by Jeff King, it would be bad if someone held on to a
`struct lock_file *` for some reason. After some grepping, I agree with
his findings: no-one appears to be doing that.

Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
apply.c
builtin/describe.c
builtin/difftool.c
builtin/gc.c
builtin/merge.c
builtin/receive-pack.c
bundle.c
fast-import.c
refs/files-backend.c
shallow.c