Backend.ProcLocker
val try_lock :
IR.Procname.t ->
[ `AlreadyLockedByUs | `LockedByAnotherProcess | `LockAcquired ]
val unlock : IR.Procname.t -> unit
This will work as a cleanup function because after calling unlock all the workers that need an unlocked Proc should find it's summary already Cached. Throws if the lock had not been taken.