summaryrefslogtreecommitdiff
path: root/git/util.py
diff options
context:
space:
mode:
authorKostis Anagnostopoulos <ankostis@gmail.com>2016-10-01 12:58:54 +0200
committerKostis Anagnostopoulos <ankostis@gmail.com>2016-10-01 13:02:53 +0200
commita79cf677744e2c1721fa55f934fa07034bc54b0a (patch)
treeac4bc1ae7d58cab6735633a66dc9b4fb437a8cea /git/util.py
parent13d399f4460ecb17cecc59d7158a4159010b2ac5 (diff)
downloadgitpython-a79cf677744e2c1721fa55f934fa07034bc54b0a.tar.gz
repo-TCs, #519: FIX config resource leaks
+ Modify lock/read-config-file code to ensure files closed. + Use `with GitConfigarser()` more systematically in TCs. + Clear any locks left hanging from prev Tcs. + Util: mark lock-files as SHORT_LIVED; save some SSDs...
Diffstat (limited to 'git/util.py')
-rw-r--r--git/util.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/git/util.py b/git/util.py
index 87ef38d3..a6c5a100 100644
--- a/git/util.py
+++ b/git/util.py
@@ -574,7 +574,10 @@ class LockFile(object):
(self._file_path, lock_file))
try:
- fd = os.open(lock_file, os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0)
+ flags = os.O_WRONLY | os.O_CREAT | os.O_EXCL
+ if is_win:
+ flags |= getattr(os, 'O_SHORT_LIVED')
+ fd = os.open(lock_file, flags, 0)
os.close(fd)
except OSError as e:
raise IOError(str(e))