packages feed

daemons 0.2.1 → 0.3.0

raw patch · 6 files changed

+16/−12 lines, 6 filessetup-changed

Files

NEWS.md view
@@ -1,6 +1,11 @@ Changes ======= +0.3.0 (03 Feb 2020)+-------------------++ - update to work with the new network library; thank you, @guibou+ 0.2.1 (03 Oct 2013) ------------------- 
− Setup.hs
@@ -1,2 +0,0 @@-import Distribution.Simple-main = defaultMain
daemons.cabal view
@@ -1,5 +1,5 @@ Name:           daemons-Version:        0.2.1+Version:        0.3.0 Cabal-Version:  >= 1.8 License:        GPL-3 License-File:   LICENSE
src/Control/Pipe/Serialize.hs view
@@ -26,10 +26,11 @@                       , Result(..), runGetPartial ) import Pipes ( Pipe, await, yield ) import Control.Monad ( forever )+import Control.Monad.Fail ( MonadFail )  -- | De-serialize data from strict 'ByteString's.  Uses @cereal@'s -- incremental 'Data.Serialize.Get' parser.-deserializer :: (Serialize a, Monad m) => Pipe ByteString a m ()+deserializer :: (Serialize a, Monad m, MonadFail m) => Pipe ByteString a m () deserializer = loop Nothing Nothing   where     loop mk mbin = do
src/Control/Pipe/Socket.hs view
@@ -70,7 +70,7 @@     (socket, _addr) <- NS.accept lsocket     _ <- forkIO $ CE.finally                       (handler (socketReader socket) (socketWriter socket))-                      (NS.sClose socket)+                      (NS.close socket)     return ()  -- | Run 'Handler' on the given socket.
src/System/Daemon.hs view
@@ -34,9 +34,9 @@ import Data.String ( IsString(..) ) import Network.Socket ( Socket, SockAddr(..), Family(..), SocketType(..)                       , SocketOption(..), setSocketOption-                      , socket, sClose, connect, bindSocket, listen+                      , socket, close, connect, bind, listen                       , AddrInfo(..), getAddrInfo, addrAddress, defaultHints-                      , defaultProtocol, iNADDR_ANY, maxListenQueue )+                      , defaultProtocol, tupleToHostAddress, maxListenQueue ) import System.Directory ( getHomeDirectory ) import System.FilePath ( (</>), (<.>) ) import System.Posix.Daemon ( runDetached, isRunning )@@ -125,7 +125,7 @@ runInForeground port handler = do     CE.bracket         (bindPort port)-        sClose+        close         (\lsocket ->              runSocketServer lsocket handler) @@ -159,7 +159,7 @@ runClientWithHandler hostname port handler = do     CE.bracket         (getSocket hostname port)-        sClose+        close         (\s -> runSocketClient s handler)  -- | Create a socket and bind it to the given port.@@ -167,11 +167,11 @@ bindPort port = do     CE.bracketOnError         (socket AF_INET Stream defaultProtocol)-        sClose+        close         (\s -> do             -- FIXME See the examples at the end of Network.Socket.ByteString             setSocketOption s ReuseAddr 1-            bindSocket s (SockAddrInet (fromIntegral port) iNADDR_ANY)+            bind s (SockAddrInet (fromIntegral port) (tupleToHostAddress (0, 0, 0, 0)))             listen s maxListenQueue             return s) @@ -183,7 +183,7 @@                              (Just $ show port)     CE.bracketOnError         (socket AF_INET Stream defaultProtocol)-        sClose+        close         (\s -> do              connect s (addrAddress $ head addrInfos)              return s)