remove unimplemented windows stubs

This commit is contained in:
Joey Hess 2014-02-11 13:18:59 -04:00
parent 556cfeb8f0
commit b2fae4b78f
Failed to extract signature
2 changed files with 4 additions and 16 deletions

View file

@ -21,6 +21,7 @@ import Control.Concurrent.Async
import System.PosixCompat.Types
#endif
#ifndef mingw32_HOST_OS
{- Run an action as a daemon, with all output sent to a file descriptor.
-
- Can write its pid to a file, to guard against multiple instances
@ -28,7 +29,6 @@ import System.PosixCompat.Types
-
- When successful, does not return. -}
daemonize :: Fd -> Maybe FilePath -> Bool -> IO () -> IO ()
#ifndef mingw32_HOST_OS
daemonize logfd pidfile changedirectory a = do
maybe noop checkalreadyrunning pidfile
_ <- forkProcess child1
@ -52,8 +52,6 @@ daemonize logfd pidfile changedirectory a = do
wait =<< asyncWithUnmask (\unmask -> unmask a)
out
out = exitImmediately ExitSuccess
#else
daemonize = error "daemonize is not implemented on Windows" -- TODO
#endif
{- Locks the pid file, with an exclusive, non-blocking lock.
@ -112,13 +110,11 @@ checkDaemon pidfile = do
checkDaemon pidfile = maybe Nothing readish <$> catchMaybeIO (readFile pidfile)
#endif
#ifndef mingw32_HOST_OS
{- Stops the daemon, safely. -}
stopDaemon :: FilePath -> IO ()
#ifndef mingw32_HOST_OS
stopDaemon pidfile = go =<< checkDaemon pidfile
where
go Nothing = noop
go (Just pid) = signalProcess sigTERM pid
#else
stopDaemon = error "stopDaemon is not implemented on Windows" -- TODO
#endif

View file

@ -13,14 +13,12 @@ import Common
import System.Posix.Types
openLog :: FilePath -> IO Fd
#ifndef mingw32_HOST_OS
openLog :: FilePath -> IO Fd
openLog logfile = do
rotateLog logfile
openFd logfile WriteOnly (Just stdFileMode)
defaultFileFlags { append = True }
#else
openLog = error "openLog TODO"
#endif
rotateLog :: FilePath -> IO ()
@ -49,20 +47,14 @@ listLogs logfile = filterM doesFileExist $ reverse $
maxLogs :: Int
maxLogs = 9
redirLog :: Fd -> IO ()
#ifndef mingw32_HOST_OS
redirLog :: Fd -> IO ()
redirLog logfd = do
mapM_ (redir logfd) [stdOutput, stdError]
closeFd logfd
#else
redirLog _ = error "redirLog TODO"
#endif
redir :: Fd -> Fd -> IO ()
#ifndef mingw32_HOST_OS
redir newh h = do
closeFd h
void $ dupTo newh h
#else
redir _ _ = error "redir TODO"
#endif