diff options
author | Andrea Rossato <andrea.rossato@ing.unitn.it> | 2007-07-17 19:13:07 +0200 |
---|---|---|
committer | Andrea Rossato <andrea.rossato@ing.unitn.it> | 2007-07-17 19:13:07 +0200 |
commit | d119a36b71c03e4fa13651a2153cd9a0ad460e3a (patch) | |
tree | 93a1ed2330b9c6896f8c0927cb33b33543585c21 | |
parent | 8dc98a46708cc3bf6bd0ff642da37e3514ce5fba (diff) | |
download | xmobar-d119a36b71c03e4fa13651a2153cd9a0ad460e3a.tar.gz xmobar-d119a36b71c03e4fa13651a2153cd9a0ad460e3a.tar.bz2 |
threads are now started with forkOS
This is required by the fact that calling nextEvent will block all other
running threads. So we need forkOS, which requires the -threaded ghc flag
darcs-hash:20070717171307-d6583-b102fecf51ee4c275f448644c0d2b0fe15fa0062.gz
-rw-r--r-- | Xmobar.hs | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -80,7 +80,7 @@ eventLoop :: Xbar () eventLoop = do c <- ask s <- get - io $ forkIO $ sendUpdateEvent (display s) (window s) (refresh c) + io $ forkOS $ sendUpdateEvent (display s) (window s) (refresh c) io $ allocaXEvent $ \e -> nextEvent (display s) e updateWin @@ -194,7 +194,7 @@ execCommands c (x:xs) = execCommand :: Config -> (Runnable,String,String) -> IO (ThreadId, MVar String) execCommand c com = do var <- newMVar "Updating..." - h <- forkIO $ runCommandLoop var c com + h <- forkOS $ runCommandLoop var c com return (h,var) runCommandLoop :: MVar String -> Config -> (Runnable,String,String) -> IO () |