summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKostis Anagnostopoulos <ankostis@gmail.com>2016-10-27 15:10:26 +0200
committerKostis Anagnostopoulos <ankostis@gmail.com>2016-10-28 14:34:30 +0200
commit18bdab2264cf9db354e49f23b3ec1e11ff4d09f4 (patch)
tree19f1c71140bd319d7dc8463d2c74d8a48f8f034a
parent0785668915af000847d9eec771d40b3d8bb53cce (diff)
downloadgitdb-18bdab2264cf9db354e49f23b3ec1e11ff4d09f4.tar.gz
fix(leaks): close "leaky" `memoryview` on mmaps after `to_bytes()`
All 3 gitpython projects stopped using memoryviews, but it's probably safe to release also user's memviews it after it has been converted to bytes.
-rw-r--r--gitdb/utils/compat.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/gitdb/utils/compat.py b/gitdb/utils/compat.py
index 93e9a7d..c06ebfb 100644
--- a/gitdb/utils/compat.py
+++ b/gitdb/utils/compat.py
@@ -36,6 +36,9 @@ except NameError:
def to_bytes(i):
if isinstance(i, memoryview):
return i.tobytes()
+ ## NOTE: `memoryview` leak resources with memmaps & delayed destructors
+ # (i.e. PY3/Windows)
+ i.release()
return i
memoryview = memoryview # @ReservedAssignment