diff options
author | Don Stewart <dons@galois.com> | 2007-11-19 03:50:15 +0100 |
---|---|---|
committer | Don Stewart <dons@galois.com> | 2007-11-19 03:50:15 +0100 |
commit | 3c0c0530ba5a5d9459e4242e850e3f90d5aa597e (patch) | |
tree | 4ea99a211b45c04663cf7a86d3be01fc818e6778 | |
parent | a25a97710d48a4109a52fed29164afd6429b7cfe (diff) | |
download | xmonad-3c0c0530ba5a5d9459e4242e850e3f90d5aa597e.tar.gz xmonad-3c0c0530ba5a5d9459e4242e850e3f90d5aa597e.tar.xz xmonad-3c0c0530ba5a5d9459e4242e850e3f90d5aa597e.zip |
Use executeFile directly, rather than the shell, avoiding sh interepeting
darcs-hash:20071119025015-cba2c-49dee5526ab8d163dfb14735e6076fd8db723973.gz
Diffstat (limited to '')
-rw-r--r-- | XMonad/Core.hs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/XMonad/Core.hs b/XMonad/Core.hs index 84b1311..80006b8 100644 --- a/XMonad/Core.hs +++ b/XMonad/Core.hs @@ -324,9 +324,13 @@ recompile = do let msg = unlines $ ["Error detected while loading xmonad configuration file: " ++ src] ++ lines ghcErr ++ ["","Please check the file for errors."] - - waitForProcess =<< runProcess "xmessage" [msg] - Nothing Nothing Nothing Nothing Nothing + -- usual double fork for async processes, and no zombies. + -- careful to use exec directly, avoiding shell + -- interpreting chars in the command line args + pid <- forkProcess $ do + forkProcess $ createSession >> executeFile "xmessage" True [msg] Nothing + exitWith ExitSuccess + getProcessStatus True False pid return () -- | Run a side effecting action with the current workspace. Like 'when' but |