Hi,<br><br>I've written the programme below. <br><br>The lircLoop should never terminate. Unfortunately it does. Worse, no error messages are generated.<br>Not even the final line "Closing down" is printed.<br>
<br>How is this possible?<br><br>Thanks for your help.<br><br>import Hmpf.Tree as T<br>import Control.Concurrent hiding (forkIO)<br>import Control.Exception<br>import Prelude hiding (catch)<br>import Hmpf.Fork<br>import System.Log.Logger<br>
import System.Log.Handler.Simple<br>import System.Log.Handler<br>import System.IO<br>import Network.MPD<br>import Control.Monad.Trans (liftIO)<br><br><br><br>main :: IO ()<br>main = do<br> initializeLogging<br> lirc <- newChan<br>
lcd <- newChan<br> startLirc device lirc<br> startLCD "localhost" 13666 lcd<br> forkIO logger $<br> mpdLoop lcd mpd<br> catch (lircLoop lirc lcd mpd)<br> (\e -> errorM logger "Lirc loop died" >> (errorM logger (show e)))<br>
putStrLn "Closing down"<br>