graceful 0.1.1.0 → 0.1.1.1
raw patch · 2 files changed
+11/−10 lines, 2 files
Files
- graceful.cabal +1/−1
- src/System/Posix/Graceful.hs +10/−9
graceful.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: graceful-version: 0.1.1.0+version: 0.1.1.1 synopsis: Library to write graceful shutdown / upgrade service. description: Library to write graceful shutdown / upgrade service. license: BSD3
src/System/Posix/Graceful.hs view
@@ -89,15 +89,16 @@ , gracefulSettingsPidFile = pidFile } sock = do exist <- doesFileExist pidFile- when exist $ renameFile pidFile (pidFile ++ ".old")- clearUnixDomainSocket sockFile- bracket (socket AF_UNIX Stream 0) close $ \uds -> do- bindSocket uds $ SockAddrUnix sockFile- listen uds 1- args <- getArgs- pid <- forkProcess $ executeFile binary False args Nothing- bracket (accept uds) (close . fst) $ \(s, _) -> sendSock s sock- void $ getProcessStatus True False pid+ when exist $ do+ clearUnixDomainSocket sockFile+ bracket (socket AF_UNIX Stream 0) close $ \uds -> do+ bindSocket uds $ SockAddrUnix sockFile+ listen uds 1+ args <- getArgs+ pid <- forkProcess $ executeFile binary False args Nothing+ bracket (accept uds) (close . fst) $ \(s, _) -> sendSock s sock+ renameFile pidFile (pidFile ++ ".old")+ void $ getProcessStatus True False pid tryIO :: IO a -> IO (Either IOException a) tryIO = try