Skip to content
New issue

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

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

Already on GitHub? # to your account

Sync local SM PDIreg with ESC PDIreg at Mbx start #170

Merged
merged 1 commit into from
Mar 20, 2024

Conversation

nakarlsson
Copy link
Contributor

When starting mailbox service, write the value of
ECAT RepeatRequest to PDI RepeatAck. Otherwise
it is risk of a race condition when running
CTT and the repeat ack would hold the value
of previous repeat ack test.

The race condition occurs on slow targets
that doesn't handle the repeat request
fast enough. The resulting mailbox read
will come before the mailbox is emptied
on the SM changed event.

fixes #169

When starting mailbox service, write the value of
ECAT RepeatRequest to PDI RepeatAck. Otherwise
it is risk of a race condition when running
CTT and the repeat ack would hold the value
of previous repeat ack test.

The race condition occurs on slow targets
that doesn't handle the repeat request
fast enough. The resulting mailbox read
will come before the mailbox is emptied
on the SM changed event.

fixes
@nakarlsson nakarlsson force-pushed the fix/reset_esc_repeat_ack branch from ea46b50 to d04bed4 Compare March 20, 2024 07:26
@nakarlsson nakarlsson requested a review from ArthurKetels March 20, 2024 07:29
Copy link
Contributor

@ArthurKetels ArthurKetels left a comment

Choose a reason for hiding this comment

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

Correct assessment of the issue, and correct fix.

@nakarlsson nakarlsson merged commit 56124c2 into master Mar 20, 2024
2 checks passed
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Race condition on repeat request and repeat ack
2 participants