[object Object]

← back to Exo

make popping from dict threadsafe

18acb97b426d689ba5de2a3c76a164b8c57ffff6 · 2024-11-15 10:39:21 +0700 · Ian Paul

Files touched

Diff

commit 18acb97b426d689ba5de2a3c76a164b8c57ffff6
Author: Ian Paul <iandouglaspaul@gmail.com>
Date:   Fri Nov 15 10:39:21 2024 +0700

    make popping from dict threadsafe
---
 exo/networking/manual/manual_discovery.py | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/exo/networking/manual/manual_discovery.py b/exo/networking/manual/manual_discovery.py
index 4b98514c..9237a860 100644
--- a/exo/networking/manual/manual_discovery.py
+++ b/exo/networking/manual/manual_discovery.py
@@ -64,10 +64,7 @@ class ManualDiscovery(Discovery):
             self.known_peers[peer_id] = peer
           else:
             if DEBUG_DISCOVERY >= 2: print(f"{peer_id=} at {peer_config.address}:{peer_config.port} is not healthy.")
-            try:
-              del self.known_peers[peer_id]
-            except KeyError:
-              pass
+            self.known_peers.pop(peer_id, None)
         except Exception as e:
           if DEBUG_DISCOVERY >= 2: print(f"Exception occured when attempting to add {peer_id=}: {e}")
       await asyncio.sleep(1.0)
@@ -83,8 +80,7 @@ class ManualDiscovery(Discovery):
 
         for peer in peers_to_remove:
           if DEBUG_DISCOVERY >= 2: print(f"{peer} is no longer found in the config but is currently a known peer. Removing from known peers...")
-          try: del self.known_peers[peer]
-          except KeyError: pass
+          self.known_peers.pop(peer, None)
 
       await asyncio.sleep(1.0)
 

← b066c944 make all I/O ops in manual_discovery.py run inside a ThreadP  ·  back to Exo  ·  fix test warnings a31f9e6c →