Skip to content

Concurrency & Syncer rework - #9219

Merged
maloel merged 22 commits into
developmentfrom
concsync
Jun 13, 2021
Merged

Concurrency & Syncer rework#9219
maloel merged 22 commits into
developmentfrom
concsync

Conversation

@maloel

@maloel maloel commented Jun 13, 2021

Copy link
Copy Markdown
Contributor

Following the deadlock that Nir experienced, reworked some stuff (and not all because of the deadlock):

PR #9159:

  • split off dispatcher code into dispatcher.cpp
  • syncer (timestamp) inactive stream handling moved into skip_missing_stream
  • syncer identity_matcher names now include the stream index
  • single_consumer_queue::_mutex is now mutable; size() and empty() const
  • revised logic inside single_consumer_queue
  • revised logic inside dispatcher
  • cancellable_time::try_sleep() is now templated, requires actual chrono duration (and not just its ::Rep)
  • syncer stop() calls now percolate recursively to shut down all queues; new syncs do nothing if syncer was stopped
  • fix 1 warning on the way :)

PR #9210:

  • add actual matchers to playback device
  • live-test issues with playback
  • added !mayfail to frame-number syncing test for stability
  • added waiting_on<> in utilities/time/waiting-on.h, with unit-test
  • rework dispatcher::flush()

Tracked on [DSO-16888]

@maloel
maloel merged commit 309d429 into development Jun 13, 2021
@maloel
maloel deleted the concsync branch December 14, 2022 06:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant