packages feed

graceful 0.1.0.0 → 0.1.1.0

raw patch · 3 files changed

+14/−4 lines, 3 filesdep +filepath

Dependencies added: filepath

Files

graceful.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                graceful-version:             0.1.0.0+version:             0.1.1.0 synopsis:            Library to write graceful shutdown / upgrade service. description:         Library to write graceful shutdown / upgrade service. license:             BSD3@@ -51,3 +51,4 @@                      , unix                      , stm                      , directory+                     , filepath
src/System/Posix/Graceful.hs view
@@ -23,6 +23,7 @@                               , send, recv, sendFd, recvFd, fdSocket, SocketStatus(..)                               , Family(..), SocketType(..), SockAddr(..) ) import System.Directory ( doesFileExist, removeFile, renameFile )+import System.Environment ( getArgs ) import System.Posix.IO ( dup ) import System.Posix.Process ( getProcessID, forkProcess, executeFile, getProcessStatus ) import System.Posix.Signals ( blockSignals, unblockSignals, fullSignalSet )@@ -93,7 +94,8 @@   bracket (socket AF_UNIX Stream 0) close $ \uds -> do     bindSocket uds $ SockAddrUnix sockFile     listen uds 1-    pid <- forkProcess $ executeFile binary False [] Nothing+    args <- getArgs+    pid <- forkProcess $ executeFile binary False args Nothing     bracket (accept uds) (close . fst) $ \(s, _) -> sendSock s sock     void $ getProcessStatus True False pid 
test/System/Posix/GracefulSpec.hs view
@@ -10,6 +10,8 @@ import System.Cmd import System.Directory import System.Exit+import System.FilePath+import System.Posix.Files import System.Posix.Signals import System.Posix.Types import System.Process@@ -106,7 +108,6 @@       connect sock $ SockAddrInet 8080 addr       action sock - packageOption :: String #if __GLASGOW_HASKELL__ < 706 packageOption = "-package-conf"@@ -117,12 +118,18 @@ buildAsEchoServer :: FilePath -> IO () buildAsEchoServer file = do   removeFileIfExist "/tmp/echo-server"+  confDistDir <- getConfDistDir   (code, _out, _err) <- readProcessWithExitCode "ghc"                         [ "--make", file                         , "-o", "/tmp/echo-server"-                        , packageOption, "dist/package.conf.inplace"+                        , packageOption, confDistDir ++ "/package.conf.inplace"                         ] ""   code `shouldBe` ExitSuccess++getConfDistDir :: IO FilePath+getConfDistDir = fmap (dirname . dirname . dirname) getModuleFile where+    dirname = takeDirectory+    getModuleFile = readSymbolicLink "/proc/self/exe"  ps :: IO [ProcessID] ps = do