reanimate/unix/Detach.hs
Ai-Ya-Ya b62a61e48d commit for nix patch
See PR #317 for more details. It's a modified version of that.
2025-12-30 01:28:17 +00:00

19 lines
549 B
Haskell

module Detach (detach) where
import Control.Concurrent
import Control.Monad
import System.Posix.IO
import System.Posix.Process (createSession, forkProcess)
detach :: IO () -> IO Bool
detach daemon = do
void $ forkProcess $ do
devnull <- openFd "/dev/null" ReadWrite defaultFileFlags
void $ dupTo devnull stdInput
void $ dupTo devnull stdOutput
void $ dupTo devnull stdError
closeFd devnull
void createSession
void $ forkProcess daemon
threadDelay (10^(6::Int))
return True