add runsGitAnnexChildProcess calls

This is all the calls to git-annex that seem capable of possibly locking
the same pidlock as their parent. Except possibly for some in the
assistant.
This commit is contained in:
Joey Hess 2020-06-17 15:31:03 -04:00
parent 82448bdf39
commit 96f6aa39dd
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
3 changed files with 6 additions and 3 deletions

View file

@ -37,6 +37,7 @@ import Annex.UUID
import Annex.WorkTree
import Annex.Fixup
import Annex.Path
import Annex.GitOverlay
import Config
import Config.Files
import Config.Smudge
@ -326,7 +327,7 @@ fixupUnusualReposAfterInit = do
- The enabling is done in a child process to avoid it using stdio.
-}
autoEnableSpecialRemotes :: Annex ()
autoEnableSpecialRemotes = do
autoEnableSpecialRemotes = runsGitAnnexChildProcess $ do
rp <- fromRawFilePath <$> fromRepo Git.repoPath
cmd <- liftIO programPath
liftIO $ withNullHandle $ \nullh -> do

View file

@ -65,6 +65,7 @@ import Annex.UpdateInstead
import Annex.Export
import Annex.TaggedPush
import Annex.CurrentBranch
import Annex.GitOverlay
import qualified Database.Export as Export
import Utility.Bloom
import Utility.OptParse
@ -513,7 +514,7 @@ pushRemote o remote (Just branch, _) = do
postpushupdate repo = case Git.repoWorkTree repo of
Nothing -> return True
Just wt -> ifM needemulation
( liftIO $ do
( runsGitAnnexChildProcess $ liftIO $ do
p <- programPath
boolSystem' p [Param "post-receive"]
(\cp -> cp { cwd = Just (fromRawFilePath wt) })

View file

@ -15,6 +15,7 @@ import qualified Git
import Config
import Annex.Path
import Annex.Version
import Annex.GitOverlay
import Types.RepoVersion
#ifndef mingw32_HOST_OS
import qualified Upgrade.V0
@ -104,7 +105,7 @@ upgrade automatic destversion = do
upgraderemote = do
rp <- fromRawFilePath <$> fromRepo Git.repoPath
cmd <- liftIO programPath
liftIO $ boolSystem' cmd
runsGitAnnexChildProcess $ liftIO $ boolSystem' cmd
[ Param "upgrade"
, Param "--quiet"
, Param "--autoonly"