summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess2014-04-29 20:05:39 -0400
committerJoey Hess2014-04-29 20:05:39 -0400
commit820db65ff0dae8b40fb1dd24e1dba3f0e0e63cdf (patch)
tree96313bfecb7e74bcb47a62fffb07cfad69bae642
parent2a90e99fa5199c25175aad4977301c198cc60906 (diff)
add debuggin for simplesh
-rw-r--r--Propellor/SimpleSh.hs9
1 files changed, 7 insertions, 2 deletions
diff --git a/Propellor/SimpleSh.hs b/Propellor/SimpleSh.hs
index c088eda7..73ff41ae 100644
--- a/Propellor/SimpleSh.hs
+++ b/Propellor/SimpleSh.hs
@@ -70,13 +70,17 @@ simpleSh namedpipe = do
simpleShClient :: FilePath -> String -> [String] -> ([Resp] -> IO a) -> IO a
simpleShClient namedpipe cmd params handler = do
+ debug ["simplesh connecting"]
s <- socket AF_UNIX Stream defaultProtocol
connect s (SockAddrUnix namedpipe)
h <- socketToHandle s ReadWriteMode
hPutStrLn h $ show $ Cmd cmd params
hFlush h
+ debug ["simplesh sent command"]
resps <- catMaybes . map readish . lines <$> hGetContents h
- hClose h `after` handler resps
+ v <- hClose h `after` handler resps
+ debug ["simplesh processed response"]
+ return v
simpleShClientRetry :: Int -> FilePath -> String -> [String] -> ([Resp] -> IO a) -> IO a
simpleShClientRetry retries namedpipe cmd params handler = go retries
@@ -88,7 +92,8 @@ simpleShClientRetry retries namedpipe cmd params handler = go retries
v <- tryIO run
case v of
Right r -> return r
- Left _ -> do
+ Left e -> do
+ debug ["simplesh connection retry", show e]
threadDelaySeconds (Seconds 1)
go (n - 1)