@@ -63,7 +63,7 @@ import Control.Concurrent.MVar
63 readMVar, newMVar, newEmptyMVar, modifyMVar)
63 readMVar, newMVar, newEmptyMVar, modifyMVar)
64import Network.Wai.Handler.Warp
64import Network.Wai.Handler.Warp
65 (defaultSettings, setTimeout, setPort, runSettings)
65 (defaultSettings, setTimeout, setPort, runSettings)
66−import Foreign.Store (newStore, readStore, lookupStore)
66+import Foreign.Store (newStore, readStore, lookupStore, writeStore, Store(..))
67import Language.Javascript.JSaddle (askJSM)
67import Language.Javascript.JSaddle (askJSM)
68import Control.Monad.IO.Class (MonadIO(..))
68import Control.Monad.IO.Class (MonadIO(..))
@@ -267,13 +267,13 @@ debugWrapper run = do
267 start' <- takeMVar mvar
267 start' <- takeMVar mvar
268 n <- stop
268 n <- stop
269 start' n >>= restarter mvar
269 start' n >>= restarter mvar
270− lookupStore shutdown_0 >>= \case
270+ lookupStore storeId >>= \case
271 Nothing -> do
271 Nothing -> do
272 restartMVar <- newMVar start
272 restartMVar <- newMVar start
273 void . forkIO $ restarter restartMVar (return 0)
273 void . forkIO $ restarter restartMVar (return 0)
274− void $ newStore restartMVar
274+ void $ writeStore (Store storeId) restartMVar
275 Just shutdownStore -> do
275 Just shutdownStore -> do
276 restartMVar :: MVar (Int -> IO (IO Int)) <- readStore shutdownStore
276 restartMVar :: MVar (Int -> IO (IO Int)) <- readStore shutdownStore
277 void $ tryTakeMVar restartMVar
277 void $ tryTakeMVar restartMVar
278 putMVar restartMVar start
278 putMVar restartMVar start
279− where shutdown_0 = 0
279+ where storeId = 354