From ed885c39e52be7a81163fcdddd9fd00e30c6eb8a Mon Sep 17 00:00:00 2001 From: Dmitry Kurochkin Date: Sat, 6 Oct 2007 12:54:47 +0200 Subject: Remove MVar from eventLoop. darcs-hash:20071006105447-903e8-d5b4a5499d79f5749ca8630afb98b6eef7590510.gz --- Xmobar.hs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'Xmobar.hs') diff --git a/Xmobar.hs b/Xmobar.hs index e8091a7..ac7ca40 100644 --- a/Xmobar.hs +++ b/Xmobar.hs @@ -70,12 +70,11 @@ runX c d w f = runReaderT f (XConf d w c) -- | The event loop eventLoop :: Config -> [(Maybe ThreadId, TVar String)] -> Display -> Window -> IO () -eventLoop c v d w = do - b <- newEmptyMVar +eventLoop c v d w = block $ do tv <- atomically $ newTVar [] - t <- forkIO (block $ do putMVar b (); go tv) - takeMVar b - checker t tv "" + t <- myThreadId + forkIO $ checker t tv "" + go tv where -- interrupt the drawing thread every time a var is updated checker t tvar ov = do -- cgit v1.2.3