Currently, the global config is locked for the complete duration of validation and save with the exception of the time, when additional validation is handed off to other parts of the system (by the means of signals).
This works, but it is unnecessary hard to reason about and therefore the existing approach should be reconsidered for a cleaner solution, which is less difficult to reason about.
Down sides of the existing approach:
- parts of the validation is handed off, which makes the lock handling more difficult
- locking and unlocking happens in multiple places withing the config package
Currently, the global config is locked for the complete duration of validation and save with the exception of the time, when additional validation is handed off to other parts of the system (by the means of signals).
This works, but it is unnecessary hard to reason about and therefore the existing approach should be reconsidered for a cleaner solution, which is less difficult to reason about.
Down sides of the existing approach: