Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Concurrency & Syncer rework #9219

Merged
merged 22 commits into from
Jun 13, 2021
Merged

Concurrency & Syncer rework #9219

merged 22 commits into from
Jun 13, 2021

Conversation

maloel
Copy link
Collaborator

@maloel maloel commented Jun 13, 2021

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