@@ -17,10 +17,9 @@ module Ouroboros.Network.Server.Simple
1717import Control.Applicative (Alternative )
1818import Control.Concurrent.JobPool qualified as JobPool
1919import Control.Monad.Class.MonadAsync
20- import Control.Monad.Class.MonadFork (MonadFork )
2120import Control.Monad.Class.MonadSTM
2221import Control.Monad.Class.MonadThrow
23- import Control.Monad.Class.MonadTimer.SI ( MonadDelay , MonadTimer )
22+ import Control.Monad.Class.MonadTimer.SI
2423import Control.Tracer (Tracer , traceWith )
2524import Data.ByteString.Lazy qualified as BL
2625import Data.Functor (void )
@@ -32,7 +31,7 @@ import Network.Mux qualified as Mx
3231import Ouroboros.Network.ConnectionId
3332import Ouroboros.Network.Mux
3433import Ouroboros.Network.Protocol.Handshake
35- import Ouroboros.Network.Server (isECONNABORTED )
34+ import Ouroboros.Network.Server (isECONNABORTED , server_CONNABORTED_DELAY )
3635import Ouroboros.Network.Snocket (Snocket )
3736import Ouroboros.Network.Snocket qualified as Snocket
3837import Ouroboros.Network.Socket
@@ -111,7 +110,8 @@ with sn tracer muxTracers makeBearer configureSock addr handshakeArgs versions k
111110 acceptOne (Snocket. AcceptFailure e)
112111 | Just ioErr <- fromException e
113112 , isECONNABORTED ioErr
114- = traceWith tracer (AcceptException e)
113+ = threadDelay server_CONNABORTED_DELAY
114+
115115 acceptOne (Snocket. AcceptFailure e)
116116 = do traceWith tracer (AcceptException e)
117117 throwIO e
0 commit comments