| 252 | SharedMemory = _mpshm.SharedMemory |
| 253 | else: |
| 254 | class SharedMemory(_mpshm.SharedMemory): |
| 255 | # From https://github.com/python/cpython/issues/82300#issuecomment-2169035092 |
| 256 | __lock = Lock() |
| 257 | |
| 258 | def __init__(self, *args, track: bool = True, **kwargs): |
| 259 | self._track = track |
| 260 | if track: |
| 261 | return super().__init__(*args, **kwargs) |
| 262 | with self.__lock: |
| 263 | with patch(_mprt, 'register', lambda *a, **kw: None): |
| 264 | super().__init__(*args, **kwargs) |
| 265 | |
| 266 | def unlink(self): |
| 267 | if _mpshm._USE_POSIX and self._name: |
| 268 | _mpshm._posixshmem.shm_unlink(self._name) |
| 269 | if self._track: |
| 270 | _mprt.unregister(self._name, "shared_memory") |
| 271 | |
| 272 | |
| 273 | class SharedMemoryManager: |
no outgoing calls
no test coverage detected