From 9617b8fbcd8360f2c11b86de387c65a961fe885c Mon Sep 17 00:00:00 2001 From: Arnaud Date: Wed, 3 Jun 2026 09:36:50 +0400 Subject: [PATCH] Update semaphore --- storage/blockexchange/network/network.nim | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/storage/blockexchange/network/network.nim b/storage/blockexchange/network/network.nim index 5f53fe20..be147444 100644 --- a/storage/blockexchange/network/network.nim +++ b/storage/blockexchange/network/network.nim @@ -13,7 +13,7 @@ import std/sequtils import pkg/chronos import pkg/libp2p -import pkg/libp2p/utils/semaphore +import pkg/chronos/asyncsync import pkg/questionable import pkg/questionable/results @@ -107,13 +107,17 @@ proc send*( let peer = b.peers[id] await b.inflightSema.acquire() - await peer.send(msg) + try: + await peer.send(msg) + finally: + try: + b.inflightSema.release() + except AsyncSemaphoreError as err: + error "Failed to release semaphore", msg = err.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, peer: NetworkPeer, list: WantList @@ -316,7 +320,7 @@ proc new*( maxInflight: maxInflight, ) - self.maxIncomingStreams = self.maxInflight + #self.maxIncomingStreams = self.maxInflight proc sendWantList( id: PeerId,