diff options
author | Julien Dessaux | 2010-02-08 00:11:46 +0100 |
---|---|---|
committer | Julien Dessaux | 2010-02-08 00:16:02 +0100 |
commit | bfc06f1ff188c9d7faa817034363a27e34eae15a (patch) | |
tree | b775c8401982544b273da8a22e1c28854eac58d5 /Hsbot/Main.hs | |
parent | Continue rewriting, found a problem in the way I kill plugins. (diff) | |
download | hsbot-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.hs | 6 |
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 () |