summaryrefslogtreecommitdiff
path: root/dht/src/Network/Tox/AggregateSession.hs
diff options
context:
space:
mode:
Diffstat (limited to 'dht/src/Network/Tox/AggregateSession.hs')
-rw-r--r--dht/src/Network/Tox/AggregateSession.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/dht/src/Network/Tox/AggregateSession.hs b/dht/src/Network/Tox/AggregateSession.hs
index feb634f0..33b1fafb 100644
--- a/dht/src/Network/Tox/AggregateSession.hs
+++ b/dht/src/Network/Tox/AggregateSession.hs
@@ -196,7 +196,10 @@ forkSession c s setStatus = forkIO $ do
196 onPacket body loop (ParseError e) = inPrint e >> loop 196 onPacket body loop (ParseError e) = inPrint e >> loop
197 onPacket body loop (Arrival _ x) = body loop x 197 onPacket body loop (Arrival _ x) = body loop x
198 198
199 awaitPacket body = fix $ join . atomically . awaitMessage (sTransport s) . onPacket body 199 awaitPacket body = fix $ \loop -> do
200 (m,io) <- atomically $ awaitMessage (sTransport s)
201 io
202 onPacket body loop m
200 203
201 atomically $ setStatus $ InProgress AwaitingSessionPacket 204 atomically $ setStatus $ InProgress AwaitingSessionPacket
202 awaitPacket $ \_ online -> do 205 awaitPacket $ \_ online -> do