setsid() before exec. Intended to fix issue #7

This commit is contained in:
Spencer Janssen
2007-05-14 04:45:47 +00:00
parent 54ee507cca
commit 67fe5ab219

View File

@@ -26,7 +26,7 @@ import StackSet (StackSet)
import Control.Monad.State
import Control.Monad.Reader
import System.IO
import System.Posix.Process (executeFile, forkProcess, getProcessStatus)
import System.Posix.Process (executeFile, forkProcess, getProcessStatus, createSession)
import System.Exit
import Graphics.X11.Xlib
import Data.Typeable
@@ -130,7 +130,7 @@ io = liftIO
spawn :: String -> X ()
spawn x = io $ do
pid <- forkProcess $ do
forkProcess (executeFile "/bin/sh" False ["-c", x] Nothing)
forkProcess (createSession >> executeFile "/bin/sh" False ["-c", x] Nothing)
exitWith ExitSuccess
return ()
getProcessStatus True False pid