From 17f0988fc754b85d9f9cd7f6b7f947a1e36ec39e Mon Sep 17 00:00:00 2001 From: Ben Bierens <39762930+benbierens@users.noreply.github.com> Date: Mon, 7 Oct 2024 10:50:54 +0200 Subject: [PATCH] Fix: null-ref in networkPeer (#937) * Fixes nullref in networkPeer * Removes inflight semaphore * Revert "Removes inflight semaphore" This reverts commit 26ec15c6f788df3adb6ff3b912a0c4b5d3139358. --- codex/blockexchange/network/network.nim | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/codex/blockexchange/network/network.nim b/codex/blockexchange/network/network.nim index 448b8c4f..b6195473 100644 --- a/codex/blockexchange/network/network.nim +++ b/codex/blockexchange/network/network.nim @@ -93,18 +93,20 @@ proc send*(b: BlockExcNetwork, id: PeerId, msg: pb.Message) {.async.} = ## Send message to peer ## - b.peers.withValue(id, peer): - try: - await b.inflightSema.acquire() - await peer[].send(msg) - except CancelledError as error: - raise error - except CatchableError as err: - error "Error sending message", peer = id, msg = err.msg - finally: - b.inflightSema.release() - do: + if not (id in b.peers): trace "Unable to send, peer not found", peerId = id + return + + let peer = b.peers[id] + try: + await b.inflightSema.acquire() + await peer.send(msg) + except CancelledError as error: + raise error + except CatchableError as err: + error "Error sending message", peer = id, msg = err.msg + finally: + b.inflightSema.release() proc handleWantList( b: BlockExcNetwork,