When aborting a task with JoinHandle::abort
, the future is dropped in the
thread calling abort if the task is not currently being executed. This is
incorrect for tasks spawned on a LocalSet
.
This can easily result in race conditions as many projects use Rc
or RefCell
in their Tokio tasks for better performance.
See tokio#3929 for more details.