Resolve "(io): avoid reentrance in update loops"
Description
sight::module::sync::synchronizer
was modified as follows:
- The
synchronize
slot no longer synchronizes immediately. It becomes atry_sync
slot, that is auto-connected to the input timelines, and only synchronizes if the slotrequest_sync
has been called. - When the synchronisation occurs, the service "locks" itself so that every sync request is discarded.
- For simplicity, the
synchronization_skipped
was merged with thesynchronization_done
signal. We do not need to make a distinction.
Breaking change(s)
For clarity and simplicity, the API was broken every occurrence of the current /synchronize
slot in the XML configurations by /request_sync
. No need to call try_sync
, this is done through auto connections.
How to test it?
Tuto17
Related issue(s)
Blocks #1237 (closed)