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

Fixed deadlock on pipeline.stop() with playback device in non realtime #8625

Merged
merged 6 commits into from
Mar 22, 2021

Conversation

aangerma
Copy link
Contributor

  1. Added stop to syncer to avoid deadlock in case of blocking enqueue.
  2. Fix bug on dispatcher::stop() that caused to crash - set _is_alive to false on stop before destroying the queue.
    [tracked on DSO-15157]

@@ -0,0 +1,31 @@
# License: Apache 2.0. See LICENSE file in root directory.
# Copyright(c) 2020 Intel Corporation. All Rights Reserved.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2021

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

# and non realtime mode is not stuck due to deadlock of
# pipeline stop thread and syncer blocking enqueue thread (DSO-15157)
#############################################################################################
test.start("Playback with non realtime doesn't stuck at stop")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doesn't get stuck
or
isn't stuck

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

#############################################################################################
test.start("Playback with non realtime doesn't stuck at stop")
current_dir = os.path.dirname( os.path.abspath( __file__ ))
filename = current_dir + os.sep + 'recording.bag'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is the file put??

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't it be called recording_deadlock.bag? I'm confused...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@@ -0,0 +1,31 @@
# License: Apache 2.0. See LICENSE file in root directory.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Matan put his record & playback test under func/rec-play/
Talk to him and synchronize please

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

src/sync.cpp Show resolved Hide resolved
@maloel maloel merged commit d8204fc into IntelRealSense:development Mar 22, 2021
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.

2 participants