From a6c2d8d7fff74c59a487e9619785b8620705c543 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 --- XMonad/Core.hs | 10 +++++++--- 1 file 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 -- cgit v1.2.3