fix pid file writing

need to truncate, or part of previous longer pid may be left after writing
This commit is contained in:
Joey Hess 2012-06-15 20:41:28 -04:00
parent 59abd787c9
commit 96ac25094b

View file

@ -44,7 +44,8 @@ daemonize logfd pidfile changedirectory a = do
lockPidFile :: Bool -> IO () -> FilePath -> IO ()
lockPidFile write onfailure file = do
fd <- openFd file ReadWrite (Just stdFileMode) defaultFileFlags
fd <- openFd file ReadWrite (Just stdFileMode)
defaultFileFlags { trunc = write }
locked <- catchMaybeIO $ setLock fd (locktype, AbsoluteSeek, 0, 0)
case locked of
Nothing -> onfailure