mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-29 06:20:56 +00:00
Merge pull request #246 from carlosmn/keep-lock
Keep the lockfile if we fail to lock it
This commit is contained in:
commit
1071c56519
@ -75,7 +75,7 @@ void git_filebuf_cleanup(git_filebuf *file)
|
||||
if (file->fd >= 0)
|
||||
gitfo_close(file->fd);
|
||||
|
||||
if (file->path_lock && gitfo_exists(file->path_lock) == GIT_SUCCESS)
|
||||
if (file->fd >= 0 && file->path_lock && gitfo_exists(file->path_lock) == GIT_SUCCESS)
|
||||
gitfo_unlink(file->path_lock);
|
||||
|
||||
if (file->digest)
|
||||
|
@ -26,6 +26,7 @@
|
||||
|
||||
#include "vector.h"
|
||||
#include "fileops.h"
|
||||
#include "filebuf.h"
|
||||
|
||||
BEGIN_TEST(string0, "compare prefixes")
|
||||
must_be_true(git__prefixcmp("", "") == 0);
|
||||
@ -661,6 +662,15 @@ BEGIN_TEST(dirent4, "make sure that strange looking filenames ('..c') are traver
|
||||
must_pass(knockdown(&odd));
|
||||
END_TEST
|
||||
|
||||
BEGIN_TEST(filebuf0, "make sure git_filebuf_open doesn't delete an existing lock")
|
||||
git_filebuf file;
|
||||
char test[] = "test", testlock[] = "test.lock";
|
||||
|
||||
must_pass(gitfo_creat(testlock, 0744));
|
||||
must_fail(git_filebuf_open(&file, test, 0));
|
||||
must_pass(gitfo_exists(testlock));
|
||||
must_pass(gitfo_unlink(testlock));
|
||||
END_TEST
|
||||
|
||||
BEGIN_SUITE(core)
|
||||
ADD_TEST(string0);
|
||||
@ -683,4 +693,6 @@ BEGIN_SUITE(core)
|
||||
ADD_TEST(dirent2);
|
||||
ADD_TEST(dirent3);
|
||||
ADD_TEST(dirent4);
|
||||
|
||||
ADD_TEST(filebuf0);
|
||||
END_SUITE
|
||||
|
Loading…
Reference in New Issue
Block a user