sil-kit
sil-kit copied to clipboard
SILKIT-1477 SystemController Utility: Use SignalHandler, better report state
Subject
Improvements of SystemController utility
Description
SILKIT-1477 System controller blocks new participants after required participants have terminated
- SystemController did not consistently report about the system's shutdown/error state.
- Reconnecting a participant after the system went into Shutdown state made the SystemController appear to hang.
- Changed to SignalHandler approach to allow for implicit exit after shutdown (
std::cin.ignore()
cannot be canceled). SIgnalHandler had to be turned into a reusable module, previously owned by Registry utility. - Bugfix: Warning on valid transition from Aborting to Shutdown
- RequestReply was ignored when barrier has not yet been passed. Now, a warning is emitted and the new RequestReply is executed.
Instructions for review / testing
- SignalHandler, refactored for public use
- Changes in SystemStateTracker.cpp and LifecycleStates.cpp
Developer checklist (address before review)
- [ ] Changelog.md updated
- [ ] Prepared update for depending repositories
- [ ] Documentation updated (public API changes only)
- [ ] API docstrings updated (public API changes only)
- [ ] Rebase → commit history clean
- [ ] Squash and merge → proper PR title