aboutsummaryrefslogtreecommitdiffstats
path: root/XMonad/Util/Timer.hs
diff options
context:
space:
mode:
authornicolas.pouillard <nicolas.pouillard@gmail.com>2008-01-14 21:28:33 +0100
committernicolas.pouillard <nicolas.pouillard@gmail.com>2008-01-14 21:28:33 +0100
commit672132c833ff5511c3f3b31cb9b4a9e1adcacaf8 (patch)
treef57f18a6bda19701a4b20ae3a74ef6bcae711ea7 /XMonad/Util/Timer.hs
parentabe51db04ba60b2ec984713c9811e05ccf078f04 (diff)
downloadXMonadContrib-672132c833ff5511c3f3b31cb9b4a9e1adcacaf8.tar.gz
XMonadContrib-672132c833ff5511c3f3b31cb9b4a9e1adcacaf8.tar.xz
XMonadContrib-672132c833ff5511c3f3b31cb9b4a9e1adcacaf8.zip
Use doubleFork instead of manual double fork, or buggy single fork.
This fixes showWName because Timer was leaking zombie processes. You should update xmonad, since doubleFork was not exported. darcs-hash:20080114202833-94725-04a4419a36181a6cc0d662b868fef3374d9b38c1.gz
Diffstat (limited to 'XMonad/Util/Timer.hs')
-rw-r--r--XMonad/Util/Timer.hs3
1 files changed, 1 insertions, 2 deletions
diff --git a/XMonad/Util/Timer.hs b/XMonad/Util/Timer.hs
index 65ed65c..8d5c2f7 100644
--- a/XMonad/Util/Timer.hs
+++ b/XMonad/Util/Timer.hs
@@ -24,7 +24,6 @@ import Control.Applicative
import Control.Concurrent
import Data.Unique
import System.Environment
-import System.Posix.Process
-- $usage
-- This module can be used to setup a timer to handle deferred events.
@@ -40,7 +39,7 @@ startTimer s = io $ do
d <- openDisplay dpy
rw <- rootWindow d $ defaultScreen d
u <- hashUnique <$> newUnique
- forkProcess $ do
+ doubleFork $ do
threadDelay (fromEnum $ s * 1000000)
a <- internAtom d "XMONAD_TIMER" False
allocaXEvent $ \e -> do