X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=collect%2Fshared_dict.py;h=ec76138b393955d47f3850bf2a91d425ada563b1;hb=eb1c6392095947b3205c4d52cd9b1507e6cd776b;hp=7c84c14c073743ea1e452d58393f8f29d280ed23;hpb=6ba90a1f30f1c0cf4df12fcd0c62181f29bc3668;p=python_utils.git diff --git a/collect/shared_dict.py b/collect/shared_dict.py index 7c84c14..ec76138 100644 --- a/collect/shared_dict.py +++ b/collect/shared_dict.py @@ -74,6 +74,7 @@ class SharedDict(object): super().__init__() self.name = name self._serializer = PickleSerializer() + assert size_bytes is None or size_bytes > 0 self.shared_memory = self._get_or_create_memory_block(name, size_bytes) self._ensure_memory_initialization() self.lock = RLock() @@ -89,7 +90,7 @@ class SharedDict(object): try: return shared_memory.SharedMemory(name=name) except FileNotFoundError: - assert size_bytes + assert size_bytes is not None return shared_memory.SharedMemory(name=name, create=True, size=size_bytes) def _ensure_memory_initialization(self): @@ -107,7 +108,8 @@ class SharedDict(object): def cleanup(self) -> None: if not hasattr(self, 'shared_memory'): return - self.shared_memory.unlink() + with SharedDict.MPLOCK: + self.shared_memory.unlink() def clear(self) -> None: self._save_memory({})