From 820db65ff0dae8b40fb1dd24e1dba3f0e0e63cdf Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 29 Apr 2014 20:05:39 -0400 Subject: [PATCH] add debuggin for simplesh --- Propellor/SimpleSh.hs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Propellor/SimpleSh.hs b/Propellor/SimpleSh.hs index c088eda..73ff41a 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)