[bugfix][distributed] fix multi-node bug for shared memory (#6597)

This commit is contained in:
youkaichao 2024-07-19 15:34:34 -07:00 committed by GitHub
parent f0bbfaf917
commit 07eb6f19f3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -108,8 +108,14 @@ class ShmRingBuffer:
# created by the process. The following patch is a workaround. # created by the process. The following patch is a workaround.
with patch("multiprocessing.resource_tracker.register", with patch("multiprocessing.resource_tracker.register",
lambda *args, **kwargs: None): lambda *args, **kwargs: None):
self.shared_memory = shared_memory.SharedMemory(name=name) try:
assert self.shared_memory.size == self.total_bytes_of_buffer self.shared_memory = shared_memory.SharedMemory(name=name)
assert self.shared_memory.size == self.total_bytes_of_buffer # noqa
except FileNotFoundError:
# we might deserialize the object in a different node
# in this case, this object is not used,
# and we should suppress the error
pass
def __reduce__(self): def __reduce__(self):
return ( return (