add DebugLocks build flag

Using the method described in
https://www.fpcomplete.com/blog/2018/05/pinpointing-deadlocks-in-haskell
but my own code to implement it, and with callstacks added.

This work is supported by the NIH-funded NICEMAN (ReproNim TR&D3) project.
This commit is contained in:
Joey Hess 2018-11-19 15:00:24 -04:00
parent 953856df5f
commit 9127fe4821
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
13 changed files with 88 additions and 13 deletions

View file

@ -262,7 +262,7 @@ implicitMessage = whenM (implicitMessages <$> Annex.getState Annex.output)
- the user.
-}
prompt :: Annex a -> Annex a
prompt a = go =<< Annex.getState Annex.concurrency
prompt a = debugLocks $ go =<< Annex.getState Annex.concurrency
where
go NonConcurrent = a
go (Concurrent {}) = withMessageState $ \s -> do