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 +5/−0
- engine-io.cabal +1/−1
- src/Network/EngineIO.hs +10/−4
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