summaryrefslogtreecommitdiff
path: root/Hsbot/Main.hs
diff options
context:
space:
mode:
authorJulien Dessaux2010-02-08 00:11:46 +0100
committerJulien Dessaux2010-02-08 00:16:02 +0100
commitbfc06f1ff188c9d7faa817034363a27e34eae15a (patch)
treeb775c8401982544b273da8a22e1c28854eac58d5 /Hsbot/Main.hs
parentContinue rewriting, found a problem in the way I kill plugins. (diff)
downloadhsbot-bfc06f1ff188c9d7faa817034363a27e34eae15a.tar.gz
hsbot-bfc06f1ff188c9d7faa817034363a27e34eae15a.tar.bz2
hsbot-bfc06f1ff188c9d7faa817034363a27e34eae15a.zip
Fixed the clean killing of plugin's threads, fixed exception management and cleaned plugins' main functions.
Diffstat (limited to 'Hsbot/Main.hs')
-rw-r--r--Hsbot/Main.hs6
1 files changed, 4 insertions, 2 deletions
diff --git a/Hsbot/Main.hs b/Hsbot/Main.hs
index ea1bf16..592fefa 100644
--- a/Hsbot/Main.hs
+++ b/Hsbot/Main.hs
@@ -2,7 +2,9 @@ module Hsbot.Main
( imain
) where
+import Control.Exception
import Control.Monad.State
+import Prelude hiding (catch)
import System.IO
import Config
@@ -15,8 +17,8 @@ import Hsbot.Types
imain :: IO ()
imain = do
bot <- connectServer $ ircServer config
- bot' <- (execStateT run bot) `catch` (const $ return bot)
- evalStateT disconnectServer bot'
+ (execStateT run bot) `catch` (\(ex :: IOException) -> return bot)
+ evalStateT disconnectServer bot
-- | The Bot monad main function
run :: IrcBot ()