[Reproducible-commits] [diffoscope] 09/17: File.guess_file_type: Protect access to mimedb
Jérémy Bobbio
lunar at moszumanska.debian.org
Tue Dec 8 18:15:21 UTC 2015
This is an automated email from the git hooks/post-receive script.
lunar pushed a commit to branch pu/parallel2
in repository diffoscope.
commit 0a7ca0ee8b0a0911f52b6ea7bf0e041bf3f0e5d6
Author: Joachim Breitner <mail at joachim-breitner.de>
Date: Thu Dec 3 12:24:28 2015 +0100
File.guess_file_type: Protect access to mimedb
---
diffoscope/comparators/binary.py | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/diffoscope/comparators/binary.py b/diffoscope/comparators/binary.py
index bcf4d4c..35868e4 100644
--- a/diffoscope/comparators/binary.py
+++ b/diffoscope/comparators/binary.py
@@ -22,6 +22,8 @@ from binascii import hexlify
from contextlib import contextmanager
from functools import wraps
from io import StringIO
+from threading import Lock
+import itertools
import os
import os.path
import re
@@ -66,7 +68,11 @@ class File(object, metaclass=ABCMeta):
if not hasattr(self, '_mimedb'):
self._mimedb = magic.open(magic.NONE)
self._mimedb.load()
- return self._mimedb.file(path)
+ self._mimedb_lock = Lock()
+ self._mimedb_lock.acquire()
+ file_type = self._mimedb.file(path)
+ self._mimedb_lock.release()
+ return file_type
@classmethod
def guess_encoding(self, path):
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/diffoscope.git
More information about the Reproducible-commits
mailing list