From 96ac25094b04548812ec3d8e0860a62c9438b197 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 15 Jun 2012 20:41:28 -0400 Subject: fix pid file writing need to truncate, or part of previous longer pid may be left after writing --- Utility/Daemon.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Utility/Daemon.hs') diff --git a/Utility/Daemon.hs b/Utility/Daemon.hs index 3d2faed67..192340cef 100644 --- a/Utility/Daemon.hs +++ b/Utility/Daemon.hs @@ -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 -- cgit v1.2.3