During a review of #78, @mwadams raised concerns about the locking code in FunctionsController.
I realise this hasn't changed, but this should probably be a lock with a timeout to stop the specs hanging for ever (until the specrunner times out) in the event of a failure or deadlock.
Fortunately @idg10 has a TimedLock which may even have made it into Corvus.
and
Similarly it feels like we should have timeouts on these. I also worry about locking these actual objects rather than proxies for them. Deadlocks can occur if the implementation decides to take locks on itself internally at some point.
During a review of #78, @mwadams raised concerns about the locking code in
FunctionsController.I realise this hasn't changed, but this should probably be a lock with a timeout to stop the specs hanging for ever (until the specrunner times out) in the event of a failure or deadlock.
Fortunately @idg10 has a TimedLock which may even have made it into Corvus.
and
Similarly it feels like we should have timeouts on these. I also worry about locking these actual objects rather than proxies for them. Deadlocks can occur if the implementation decides to take locks on itself internally at some point.