use async to track and manage threads

This commit is contained in:
Joey Hess 2013-01-26 14:14:32 +11:00
parent 7fc6ebb765
commit 1713ed95f7
11 changed files with 77 additions and 61 deletions

View file

@ -109,10 +109,12 @@ firstRun = do
urlrenderer <- newUrlRenderer
v <- newEmptyMVar
let callback a = Just $ a v
void $ runAssistant d $ runNamedThread $
webAppThread d urlrenderer True
(callback signaler)
(callback mainthread)
runAssistant d $ do
startNamedThread $
webAppThread d urlrenderer True
(callback signaler)
(callback mainthread)
waitNamedThreads
where
signaler v = do
putMVar v ""