attached to this email is a patch that refactors the current implementation of locking in ScriptInterpreterPython.
Essentially, it improves on the existing Locker class to make it feasible for use everywhere a lock on the Python interpreter is required, and makes several code changes in ScriptInterpreterPython to use Locker instances instead of replicating code for acquiring and releasing said lock.
This should improve maintainability and readability of code in ScriptInterpreterPython, while keeping the external behavior of the class consistent (several runs of the test suite have shown no issues).
Thanks for any feedback on this.
- Enrico Granata
pylock.diff (23.3 KB)