From 3c0c0530ba5a5d9459e4242e850e3f90d5aa597e Mon Sep 17 00:00:00 2001 From: Don Stewart Date: Mon, 19 Nov 2007 03:50:15 +0100 Subject: Use executeFile directly, rather than the shell, avoiding sh interepeting darcs-hash:20071119025015-cba2c-49dee5526ab8d163dfb14735e6076fd8db723973.gz --- XMonad/Core.hs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'XMonad') 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 -- cgit v1.2.3