on master help sign in
Use a higher store number to prevent segfaults
commit3df649ac7e6b3c89ab5862e378ed3ece333bd679 authorMilán Nagy <123.wizek@gmail.com> dateWed 29 Nov 2017, 03:57 (9 years ago) parent37051d6
1 file changed+4−4
jsaddle-warp/src/Language/Javascript/JSaddle/WebSockets.hs+4−4
jsaddle-warp/src/Language/Javascript/JSaddle/WebSockets.hs+4−4
@@ -61,7 +61,7 @@ import Control.Concurrent.MVar
6161 readMVar, newMVar, newEmptyMVar, modifyMVar)
6262import Network.Wai.Handler.Warp
6363 (defaultSettings, setTimeout, setPort, runSettings)
64−import Foreign.Store (newStore, readStore, lookupStore)
64+import Foreign.Store (newStore, readStore, lookupStore, writeStore, Store(..))
6565import Language.Javascript.JSaddle (askJSM)
6666import Control.Monad.IO.Class (MonadIO(..))
6767
@@ -252,13 +252,13 @@ debugWrapper run = do
252252 start' <- takeMVar mvar
253253 n <- stop
254254 start' n >>= restarter mvar
255− lookupStore shutdown_0 >>= \case
255+ lookupStore storeId >>= \case
256256 Nothing -> do
257257 restartMVar <- newMVar start
258258 void . forkIO $ restarter restartMVar (return 0)
259− void $ newStore restartMVar
259+ void $ writeStore (Store storeId) restartMVar
260260 Just shutdownStore -> do
261261 restartMVar :: MVar (Int -> IO (IO Int)) <- readStore shutdownStore
262262 void $ tryTakeMVar restartMVar
263263 putMVar restartMVar start
264− where shutdown_0 = 0
264+ where storeId = 354