diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/dhtd.hs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/examples/dhtd.hs b/examples/dhtd.hs index 0345e1ee..569e1d3d 100644 --- a/examples/dhtd.hs +++ b/examples/dhtd.hs | |||
@@ -23,6 +23,7 @@ import System.IO | |||
23 | import System.IO.Error | 23 | import System.IO.Error |
24 | import Text.PrettyPrint.HughesPJClass | 24 | import Text.PrettyPrint.HughesPJClass |
25 | import Text.Printf | 25 | import Text.Printf |
26 | import Text.Read | ||
26 | import Control.Monad.Reader.Class | 27 | import Control.Monad.Reader.Class |
27 | import System.Posix.Process (getProcessID) | 28 | import System.Posix.Process (getProcessID) |
28 | 29 | ||
@@ -163,11 +164,12 @@ clientSession st signalQuit sock n h = do | |||
163 | return $ do | 164 | return $ do |
164 | hPutClient h $ showReport r | 165 | hPutClient h $ showReport r |
165 | 166 | ||
166 | ("peers", s) -> cmd $ do | 167 | ("peers", s) -> cmd $ case readEither s of |
167 | let ih = fromString s | 168 | Right ih -> do |
168 | ps <- allPeers ih | 169 | ps <- allPeers ih |
169 | return $ do | 170 | seq ih $ return $ do |
170 | hPutClient h $ showReport $ map (((,) "") . show . pPrint) ps | 171 | hPutClient h $ showReport $ map (((,) "") . show . pPrint) ps |
172 | Left er -> return $ hPutClient h er | ||
171 | 173 | ||
172 | ("pid", _) -> cmd $ return $ do | 174 | ("pid", _) -> cmd $ return $ do |
173 | pid <- getProcessID | 175 | pid <- getProcessID |