When re-execing git-annex, use current program location, rather than ~/.config/git-annex/program, when possible.
Most of the time, there will be no discreprancy between programPath and readProgramFile. But, the programFile might have been written by an old version of git-annex that is still installed, while a newer one is currently running. In this case, we want to run the same one that's currently running. This is especially important for things like the GIT_SSH=git-annex used for ssh connection caching. The only code that still uses readProgramFile directly is the upgrade code, which needs to know where the standalone git-annex was installed, in order to upgrade it.
This commit is contained in:
parent
b9275b65f9
commit
450ee53ab6
14 changed files with 28 additions and 25 deletions
|
@ -104,7 +104,7 @@ startDaemon assistant foreground startdelay cannotrun listenhost startbrowser =
|
|||
( liftIO $ withFile devNull WriteMode $ \nullh -> do
|
||||
loghandle <- openLog logfile
|
||||
e <- getEnvironment
|
||||
cmd <- readProgramFile
|
||||
cmd <- programPath
|
||||
ps <- getArgs
|
||||
(_, _, _, pid) <- createProcess (proc cmd ps)
|
||||
{ env = Just (addEntry flag "1" e)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue