diff options
author | Carl Lerche <me@carllerche.com> | 2019-11-19 08:01:46 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-19 08:01:46 -0800 |
commit | 7c8b8877d440629ab9a27a2c9dcef859835d3536 (patch) | |
tree | 0a31ff2e02c38713e3bd49dbc28e8916c980bef7 /tokio/tests/io_driver.rs | |
parent | 0d38936b35779b604770120da2e98560bbb6241f (diff) |
runtime: fix lost wakeup bug in scheduler (#1788)
When checking if a worker needs to be unparked, the SeqCst load does not
provide the necessary synchronization to ensure the scheduled task is
visible to the searching worker. The `load` is switched to
`fetch_add(0)` which does establish the necessary synchronization.
Adding unit tests catching this bug will require a fix to loom and will
be done at a later time. The bug fix has been validated with manual
testing.
Fixes #1768
Diffstat (limited to 'tokio/tests/io_driver.rs')
0 files changed, 0 insertions, 0 deletions