diff options
Diffstat (limited to 'src/libstd/rt')
| -rw-r--r-- | src/libstd/rt/sched.rs | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/libstd/rt/sched.rs b/src/libstd/rt/sched.rs index 5ec2df32c48..a8f3d01351b 100644 --- a/src/libstd/rt/sched.rs +++ b/src/libstd/rt/sched.rs @@ -563,11 +563,10 @@ impl Scheduler { // run the cleanup job, as expected by the previously called // swap_contexts function. unsafe { - let sched = Local::unsafe_borrow::<Scheduler>(); - (*sched).run_cleanup_job(); + let task = Local::unsafe_borrow::<Task>(); + (*task).sched.get_mut_ref().run_cleanup_job(); // Must happen after running the cleanup job (of course). - let task = Local::unsafe_borrow::<Task>(); (*task).death.check_killed((*task).unwinder.unwinding); } } |
