diff options
Diffstat (limited to 'devel.hs')
-rw-r--r-- | devel.hs | 17 |
1 files changed, 12 insertions, 5 deletions
@@ -1,25 +1,32 @@ +{-# LANGUAGE CPP #-} {-# LANGUAGE PackageImports #-} import "sflctimekeeper" Application (getApplicationDev) import Network.Wai.Handler.Warp - (runSettings, defaultSettings, settingsPort) + (runSettings, defaultSettings, setPort) import Control.Concurrent (forkIO) import System.Directory (doesFileExist, removeFile) import System.Exit (exitSuccess) import Control.Concurrent (threadDelay) +#ifndef mingw32_HOST_OS +import System.Posix.Signals (installHandler, sigINT, Handler(Catch)) +#endif + main :: IO () main = do +#ifndef mingw32_HOST_OS + _ <- installHandler sigINT (Catch $ return ()) Nothing +#endif + putStrLn "Starting devel application" (port, app) <- getApplicationDev - forkIO $ runSettings defaultSettings - { settingsPort = port - } app + forkIO $ runSettings (setPort port defaultSettings) app loop loop :: IO () loop = do threadDelay 100000 - e <- doesFileExist "dist/devel-terminate" + e <- doesFileExist "yesod-devel/devel-terminate" if e then terminateDevel else loop terminateDevel :: IO () |