diff options
| author | Roman Smrž <roman.smrz@seznam.cz> | 2025-07-12 17:40:51 +0200 |
|---|---|---|
| committer | Roman Smrž <roman.smrz@seznam.cz> | 2025-07-13 17:07:56 +0200 |
| commit | 5667e01bfbdacbd6619e75172f1c6201b15d3647 (patch) | |
| tree | 15392bf1529112b6b84f1529088f6b2672c3742a /src/Erebos/Network | |
| parent | ea3a4dac09113a1650892e3b6d0725392e2129c0 (diff) | |
Protocol: release unused packet reservations
Diffstat (limited to 'src/Erebos/Network')
| -rw-r--r-- | src/Erebos/Network/Protocol.hs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Erebos/Network/Protocol.hs b/src/Erebos/Network/Protocol.hs index 025f52c..e629967 100644 --- a/src/Erebos/Network/Protocol.hs +++ b/src/Erebos/Network/Protocol.hs @@ -917,7 +917,10 @@ processOutgoing gs@GlobalState {..} = do , rsOnAck = rsOnAck rs >> onAck }) <$> mbReserved sendBytes conn mbReserved' bs - Nothing -> return () + Nothing -> do + when (isJust mbReserved) $ do + atomically $ do + modifyTVar' cReservedPackets (subtract 1) let waitUntil :: TimeSpec -> TimeSpec -> STM () waitUntil now till = do |