aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2020-02-26 18:07:42 +0100
committerAnton Khirnov <anton@khirnov.net>2020-02-26 18:07:42 +0100
commitc5688968012fbd4f745aa3fed3c08804887a0b56 (patch)
treec84941ea2ed8b076ec66ebc81bd16c3fbf79346f
parentd4668f095a5bc986dc21be015fa81c04c9e8e687 (diff)
dash_server: raise an exception on multiple cache entries
This means two clients are trying to upload the same file at once.
-rwxr-xr-xdash_server.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/dash_server.py b/dash_server.py
index 2ac76b7..9e79c68 100755
--- a/dash_server.py
+++ b/dash_server.py
@@ -163,11 +163,12 @@ class StreamCache:
@contextlib.contextmanager
def add_entry(self, key, val):
- # XXX handle key already present
self._logger.debug('cache add: %s', key)
+ with self._lock:
+ if key in self._streams:
+ raise ValueError('Duplicate cache entry: %s' % key)
+ self._streams[key] = val
try:
- with self._lock:
- self._streams[key] = val
yield val
finally:
with self._lock: