From ddd99a53292c18bd330a40b68398416006e3583e Mon Sep 17 00:00:00 2001 From: Unrud Date: Sat, 18 Aug 2018 12:56:41 +0200 Subject: [PATCH] Check that storage lock guarantees are met --- radicale/storage.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/radicale/storage.py b/radicale/storage.py index 41c9dee9..fc6b1f9d 100644 --- a/radicale/storage.py +++ b/radicale/storage.py @@ -1591,6 +1591,9 @@ class FileBackedRwLock: raise RuntimeError("Locking the storage failed: " "Unsupported operating system") with self._lock: + if self._writer or mode == "w" and self._readers != 0: + raise RuntimeError("Locking the storage failed: " + "Guarantees failed") if mode == "r": self._readers += 1 else: