From daea135424857594622573fa1a900b436d7ee0ae Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Sat, 29 May 2010 00:55:14 +0200 Subject: Implemented the clean killing of plugins' threads. --- Hsbot/Core.hs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'Hsbot/Core.hs') diff --git a/Hsbot/Core.hs b/Hsbot/Core.hs index f98fece..fac9f8e 100644 --- a/Hsbot/Core.hs +++ b/Hsbot/Core.hs @@ -31,9 +31,11 @@ hsbot config = do , botResumeData = mvar } putStrLn "[Hsbot] Entering main loop... " (status, botState') <- runLoop botState + putStrLn "[Hsbot] Killing active plugins... " resumeData <- takeMVar mvar + evalStateT (mapM_ killPlugin $ M.keys resumeData) botState' if status == BotReboot - then resumeHsbot botState' resumeData + then resumeHsbot resumeData else return () where runLoop :: BotState -> IO (BotStatus, BotState) @@ -43,8 +45,8 @@ hsbot config = do BotContinue -> runLoop botState' _ -> return (status, botState') -resumeHsbot :: BotState -> BotResumeData -> IO () -resumeHsbot botState resumeData = do +resumeHsbot :: BotResumeData -> IO () +resumeHsbot resumeData = do print resumeData -- | Run the bot main loop -- cgit v1.2.3