distributed-process-zookeeper 0.2.0.0 → 0.2.1.0
raw patch · 2 files changed
+15/−10 lines, 2 filesdep ~basedep ~binarydep ~deepseq
Dependency ranges changed: base, binary, deepseq, distributed-process, network-transport-tcp, transformers
Files
distributed-process-zookeeper.cabal view
@@ -1,5 +1,5 @@ name: distributed-process-zookeeper-version: 0.2.0.0+version: 0.2.1.0 cabal-version: >=1.10 build-type: Simple license: BSD3@@ -40,17 +40,17 @@ library build-depends:- base >=4.6 && < 4.8,+ base >=4.6 && < 4.9, hzk >=2.1.0 && <2.2,- distributed-process >=0.5.3 && <0.6,+ distributed-process >=0.5.3 && <0.7, network-transport >=0.4.1.0 && <0.5,- network-transport-tcp >=0.4.1 && <0.5,- binary >=0.7.1.0 && <0.8,+ network-transport-tcp >=0.4.1 && <0.6,+ binary >=0.7.1.0 && <0.9, bytestring >=0.10.0.0 && <0.11, containers >=0.5.0.0 && <0.6,- transformers >=0.4.2.0 && <0.5,+ transformers >=0.4.2.0 && <0.6, mtl >=2.2.1 && <2.3,- deepseq >=1.3.0.0 && <1.4,+ deepseq >=1.3.0.0 && <1.5, network >=2.6.0.2 && <2.7 exposed-modules: Control.Distributed.Process.Zookeeper
src/Control/Distributed/Process/Zookeeper.hs view
@@ -2,6 +2,7 @@ {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE BangPatterns #-}+{-# LANGUAGE CPP #-} -- | Provides service and node discovery for Cloud Haskell applications using -- a Zookeeper cluster for name registration, lookups and leader election.@@ -49,8 +50,6 @@ ZKError (..), Zookeeper) import qualified Database.Zookeeper as ZK--import Control.Applicative ((<$>)) import Control.Concurrent (myThreadId, newEmptyMVar, putMVar, putMVar,@@ -73,7 +72,12 @@ import Data.Map.Strict (Map) import qualified Data.Map.Strict as Map import Data.Maybe (fromMaybe)++#if !MIN_VERSION_base(4,8,0) import Data.Monoid (mempty)+import Control.Applicative ((<$>))+#endif + import Data.Typeable (Typeable) import GHC.Generics (Generic) @@ -662,7 +666,8 @@ pid <- spawnLocal $ let loop = join (liftIO $ takeMVar action) >>= liftIO . putMVar result- >> loop in link self >> loop+ >> loop+ in link self >> loop link pid return (\f -> putMVar action f >> takeMVar result)