Skip to content

Commit 46eed5a

Browse files
committed
connection-manager: don't trace async-exceptions
1 parent a1be59b commit 46eed5a

File tree

1 file changed

+10
-4
lines changed
  • ouroboros-network-framework/src/Ouroboros/Network/ConnectionManager

1 file changed

+10
-4
lines changed

ouroboros-network-framework/src/Ouroboros/Network/ConnectionManager/Core.hs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ module Ouroboros.Network.ConnectionManager.Core
2727
import Control.Applicative (Alternative)
2828
import Control.Concurrent.Class.MonadSTM qualified as LazySTM
2929
import Control.Concurrent.Class.MonadSTM.Strict
30-
import Control.Exception (assert)
30+
import Control.Exception (SomeAsyncException, assert)
3131
import Control.Monad (forM_, guard, unless, when, (>=>))
3232
import Control.Monad.Class.MonadAsync
3333
import Control.Monad.Class.MonadFork (throwTo)
@@ -1536,12 +1536,18 @@ with args@Arguments {
15361536
_ -> pure ()
15371537

15381538
traceWith tracer (TrConnect addr peerAddr diffusionMode)
1539-
connect snocket socket peerAddr
1540-
`catch` \e -> do
1539+
catchJust
1540+
(\e ->
1541+
case fromException e :: Maybe SomeAsyncException of
1542+
Just {} -> Nothing
1543+
Nothing -> Just e
1544+
)
1545+
(connect snocket socket peerAddr)
1546+
(\e -> do
15411547
traceWith tracer (TrConnectError addr peerAddr e)
15421548
-- the handler attached by `bracketOnError` will
15431549
-- reset the state
1544-
throwIO e
1550+
throwIO e)
15451551
localAddress <- getLocalAddr snocket socket
15461552
let connId = ConnectionId { localAddress
15471553
, remoteAddress = peerAddr

0 commit comments

Comments
 (0)