-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Incorrect processing in Engine::ScheduleRun() #14697
Conversation
…mLayer->ScheduleWork() returns. (project-chip#14596) - setup mRunScheduled = true before execute ScheduleWork()
PR #14697: Size comparison from 63a5c52 to 00bf71c Increases (16 builds for cyw30739, efr32, esp32, nrfconnect, p6, telink)
Decreases (10 builds for linux)
Full report (43 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't actually fix the core issue. If there are multiple threads calling ScheduleRun
, this all still breaks.
The correct solution (and resultant analysis needed) is posted in the original issue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this does not seem like the right fix. Let's follow up in #14596 to figure out what's going on here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given the updates in the related issue, this should be closed.
Problem
Change overview
setup 'mRunScheduled = true' before execute ScheduleWork() to avoid case when scheduled callback has been done before ScheduleWork() returns