summaryrefslogtreecommitdiff
path: root/src/Erebos/Network/Protocol.hs
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2026-03-13 21:10:50 +0100
committerRoman Smrž <roman.smrz@seznam.cz>2026-03-13 21:10:50 +0100
commite89e7b8415aa222088b091d24c88f635fc1ba9c1 (patch)
treed5ce7399e8c59b07f708d363cad27b840b2b75f2 /src/Erebos/Network/Protocol.hs
parent2144fa932e3d614e64f162c6024aec9ad22442ea (diff)
Signal closure to open input streams when dropping connection
Diffstat (limited to 'src/Erebos/Network/Protocol.hs')
-rw-r--r--src/Erebos/Network/Protocol.hs2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/Erebos/Network/Protocol.hs b/src/Erebos/Network/Protocol.hs
index 34f1163..c0dff4b 100644
--- a/src/Erebos/Network/Protocol.hs
+++ b/src/Erebos/Network/Protocol.hs
@@ -281,6 +281,8 @@ connClose conn@Connection {..} = do
writeTVar cChannel ChannelClosed
writeTVar gConnections . filter (/=conn) =<< readTVar gConnections
writeFlow cDataInternal Nothing
+ streams <- readTVar cInStreams
+ forM_ streams $ \( _, s ) -> writeFlow (sFlowIn s) (StreamClosed 0)
connAddWriteStream :: Connection addr -> STM (Either String (TransportHeaderItem, RawStreamWriter, IO ()))
connAddWriteStream conn@Connection {..} = do