-
Notifications
You must be signed in to change notification settings - Fork 788
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
Fix double-locking issue in DataSharingListener
#5468
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…tion. Signed-off-by: Xiaojing Cao <xiaojing.cao@hirain.com>
xjzer
changed the title
Fix the double-locking issue when spurious wakeup occurs in wait func…
Fix the double-locking issue when spurious wakeup occurs in wait().
Dec 9, 2024
@MiguelCompany Is there anything else I need to do? |
MiguelCompany
approved these changes
Dec 20, 2024
Sorry for the delay @xjzer, and thanks for the heads up! This got buried in my pile of things. |
MiguelCompany
changed the title
Fix the double-locking issue when spurious wakeup occurs in wait().
Fix double-locking issue in Dec 20, 2024
DataSharingListener
@Mergifyio backport 3.1.x 3.0.x 2.14.x 2.10.x |
✅ Backports have been created
|
mergify bot
pushed a commit
that referenced
this pull request
Dec 20, 2024
Signed-off-by: Xiaojing Cao <xiaojing.cao@hirain.com> (cherry picked from commit 059457a)
mergify bot
pushed a commit
that referenced
this pull request
Dec 20, 2024
Signed-off-by: Xiaojing Cao <xiaojing.cao@hirain.com> (cherry picked from commit 059457a)
mergify bot
pushed a commit
that referenced
this pull request
Dec 20, 2024
Signed-off-by: Xiaojing Cao <xiaojing.cao@hirain.com> (cherry picked from commit 059457a)
mergify bot
pushed a commit
that referenced
this pull request
Dec 20, 2024
Signed-off-by: Xiaojing Cao <xiaojing.cao@hirain.com> (cherry picked from commit 059457a)
11 tasks
EugenioCollado
pushed a commit
that referenced
this pull request
Dec 27, 2024
Signed-off-by: Xiaojing Cao <xiaojing.cao@hirain.com> (cherry picked from commit 059457a)
EugenioCollado
pushed a commit
that referenced
this pull request
Dec 30, 2024
Signed-off-by: Xiaojing Cao <xiaojing.cao@hirain.com> (cherry picked from commit 059457a) Co-authored-by: xjzer <62737335+xjzer@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
In the run() function of DataSharingListener, due to time jumps, the wait() function may occasionally experience spurious wakeups and throw a const boost::interprocess_exception. After executing continue in the catch block, the code attempts to lock the mutex again while it's already locked, which leads to a std::system_error exception being thrown(e.what(): Resource deadlock avoided), ultimately causing the program to crash.
@Mergifyio backport 3.1.x 3.0.x 2.14.x 2.10.x
Contributor Checklist
versions.md
file (if applicable).Reviewer Checklist