Improve resource locking scheme in operations.
requested to merge jwilson1881/smtk:feature/improve-resource-locking-scheme-for-operations into master
This MR introduces the following changes to the way operations lock resources:
-
Introduces a parent-child relationship between operations where a "child" operation that is being run by its "parent" can share resource locks with the parent.
-
In the event that an operation cannot acquire ALL of its required resource locks, it will release any resource locks it did successfully acquire and then retry later. This gives each thread that is currently attempting to acquire resource locks a chance to do so.