From 8181b38ef6060103953ce464d03e9cfd75c45663 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 1 Aug 2012 16:29:38 -0400 Subject: write pid file even when running in foreground This prevents multiple runs of the assistant in the foreground, and lets --stop stop foregrounded runs too. The webapp firstrun case also now writes a pid file, once it's made the git repo to put it in. --- Command/WebApp.hs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'Command/WebApp.hs') diff --git a/Command/WebApp.hs b/Command/WebApp.hs index 0ddf65c58..61de2c2f1 100644 --- a/Command/WebApp.hs +++ b/Command/WebApp.hs @@ -14,7 +14,7 @@ import Assistant.DaemonStatus import Assistant.TransferQueue import Assistant.Threads.WebApp import Utility.WebApp -import Utility.Daemon (checkDaemon) +import Utility.Daemon (checkDaemon, lockPidFile) import Init import qualified Command.Watch import qualified Git.CurrentRepo @@ -94,6 +94,10 @@ firstRun = do _wait <- takeMVar v state <- Annex.new =<< Git.CurrentRepo.get - Annex.eval state $ + Annex.eval state $ do + dummydaemonize startAssistant True id $ Just $ sendurlback v sendurlback v url _htmlshim = putMVar v url + {- Set up the pid file in the new repo. -} + dummydaemonize = do + liftIO . lockPidFile =<< fromRepo gitAnnexPidFile -- cgit v1.2.3