packages feed

engine-io 1.2.8 → 1.2.9

raw patch · 3 files changed

+16/−5 lines, 3 filesdep ~base

Dependency ranges changed: base

Files

Changelog.md view
@@ -1,3 +1,8 @@+## 1.2.9++* Same changes as 1.2.8, but the 1.2.8 release was formed incorrectly and didn't+  compile.+ ## 1.2.8  * Fixed a bug in the heartbeat monitor. The heartbeat thread exists to ensure
engine-io.cabal view
@@ -1,5 +1,5 @@ name: engine-io-version: 1.2.8+version: 1.2.9 synopsis: A Haskell implementation of Engine.IO homepage: http://github.com/ocharles/engine.io license: BSD3
src/Network/EngineIO.hs view
@@ -586,10 +586,16 @@         p <- STM.atomically (STM.readTChan wsOut)         sendPacket conn p -      finally (do Async.link reader-                  forever (receivePacket conn >>= STM.atomically . STM.writeTChan wsIn))-              (do Async.cancel reader-                  STM.atomically (STM.writeTChan wsIn (Packet Close (TextPacket Text.empty))))+      fix $ \loop -> do+        e <- try (receivePacket conn >>= STM.atomically . STM.writeTChan wsIn)+        case e of+          Left (SomeException _) ->+            return ()++          Right _ -> loop++      Async.cancel reader+      STM.atomically (STM.writeTChan wsIn (Packet Close (TextPacket Text.empty)))    receivePacket conn = do     msg <- WebSockets.receiveDataMessage conn