sil-kit icon indicating copy to clipboard operation
sil-kit copied to clipboard

SILKIT-1477 SystemController Utility: Use SignalHandler, better report state

Open AndreasRentschler opened this issue 2 months ago • 1 comments

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

AndreasRentschler avatar Apr 25 '24 17:04 AndreasRentschler