diff options
author | Anton Khirnov <anton@khirnov.net> | 2020-02-26 18:07:42 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2020-02-26 18:07:42 +0100 |
commit | c5688968012fbd4f745aa3fed3c08804887a0b56 (patch) | |
tree | c84941ea2ed8b076ec66ebc81bd16c3fbf79346f | |
parent | d4668f095a5bc986dc21be015fa81c04c9e8e687 (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-x | dash_server.py | 7 |
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: |