aboutsummaryrefslogtreecommitdiffstats
path: root/Main.hs
diff options
context:
space:
mode:
authorSpencer Janssen <spencerjanssen@gmail.com>2009-01-16 21:47:42 +0100
committerSpencer Janssen <spencerjanssen@gmail.com>2009-01-16 21:47:42 +0100
commit13391aeabcaf0c0c32bc78804a54d4debb58beaf (patch)
tree21502be6ae4a8092f5393484d1093f9636bd75b5 /Main.hs
parent92c5b060bd04280d907c692ca10391ae8bc8b0f7 (diff)
downloadxmonad-13391aeabcaf0c0c32bc78804a54d4debb58beaf.tar.gz
xmonad-13391aeabcaf0c0c32bc78804a54d4debb58beaf.tar.xz
xmonad-13391aeabcaf0c0c32bc78804a54d4debb58beaf.zip
Remove doubleFork, handle SIGCHLD
Ignore-this: f9b1a65b4f0622922f80ad2ab6c5a52f This is a rather big change. Rather than make spawned processes become children of init, we handle them in xmonad. As a side effect of this change, we never need to use waitForProcess in any contrib module -- in fact, doing so will raise an exception. The main benefit to handling SIGCHLD is that xmonad can now be started with 'exec', and will correctly clean up after inherited child processes. darcs-hash:20090116204742-25a6b-9594fc6cdfcd5552894b64b4b6137f8a7cf2021d.gz
Diffstat (limited to 'Main.hs')
-rw-r--r--Main.hs1
1 files changed, 1 insertions, 0 deletions
diff --git a/Main.hs b/Main.hs
index 84eca32..29ae822 100644
--- a/Main.hs
+++ b/Main.hs
@@ -32,6 +32,7 @@ import qualified Properties
-- for xmonad, and if it doesn't find one, just launches the default.
main :: IO ()
main = do
+ installSignalHandlers -- important to ignore SIGCHLD to avoid zombies
args <- getArgs
let launch = catchIO buildLaunch >> xmonad defaultConfig
case args of