summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Command/Log.hs1
-rw-r--r--Git/Command.hs6
-rw-r--r--Git/HashObject.hs1
-rw-r--r--Remote/Git.hs2
4 files changed, 7 insertions, 3 deletions
diff --git a/Command/Log.hs b/Command/Log.hs
index 9aaebeca6..c3ce67986 100644
--- a/Command/Log.hs
+++ b/Command/Log.hs
@@ -69,6 +69,7 @@ start :: M.Map UUID String -> TimeZone -> [CommandParam] -> Bool ->
FilePath -> (Key, Backend) -> CommandStart
start m zone os gource file (key, _) = do
showLog output =<< readLog <$> getLog key os
+ -- getLog produces a zombie; reap it
liftIO Git.Command.reap
stop
where
diff --git a/Git/Command.hs b/Git/Command.hs
index 2e9562860..f38d6f72f 100644
--- a/Git/Command.hs
+++ b/Git/Command.hs
@@ -93,7 +93,11 @@ pipeNullSplit params repo = do
pipeNullSplitZombie :: [CommandParam] -> Repo -> IO [String]
pipeNullSplitZombie params repo = fst <$> pipeNullSplit params repo
-{- Reaps any zombie git processes. -}
+{- Reaps any zombie git processes.
+ -
+ - Warning: Not thread safe. Anything that was expecting to wait
+ - on a process and get back an exit status is going to be confused
+ - if this reap gets there first. -}
reap :: IO ()
reap = do
-- throws an exception when there are no child processes
diff --git a/Git/HashObject.hs b/Git/HashObject.hs
index 7d6b5cc19..e048ce8e5 100644
--- a/Git/HashObject.hs
+++ b/Git/HashObject.hs
@@ -39,7 +39,6 @@ hashFile h file = CoProcess.query h send receive
hashObject :: ObjectType -> String -> Repo -> IO Sha
hashObject objtype content repo = getSha subcmd $ do
s <- pipeWriteRead (map Param params) content repo
- reap -- XXX unsure why this is needed, of if it is anymore
return s
where
subcmd = "hash-object"
diff --git a/Remote/Git.hs b/Remote/Git.hs
index e7b1ca0e8..b4a730be7 100644
--- a/Remote/Git.hs
+++ b/Remote/Git.hs
@@ -212,7 +212,7 @@ onLocal r a = do
-- No need to update the branch; its data is not used
-- for anything onLocal is used to do.
Annex.BranchState.disableUpdate
- liftIO Git.Command.reap `after` a
+ a
keyUrls :: Git.Repo -> Key -> [String]
keyUrls r key = map tourl (annexLocations key)