Brian Anderson
7bfd0e5035
Merge remote-tracking branch 'brson/sched-cleanup'
...
Conflicts:
src/libcore/rt/sched/mod.rs
2013-04-16 11:23:13 -07:00
Brian Anderson
1f94364aef
core::rt: Clean up some more hacks
2013-04-15 18:56:39 -07:00
Brian Anderson
ed74ac169e
core::rt: Narrow down the unsafety of the thread-local scheduler
...
Only when borrowing the I/O implementation do we need unsafety
2013-04-15 18:54:02 -07:00
Brian Anderson
68583a25a0
core::rt: Restructure context switches to take ownership of the Scheduler
...
In order to do a context switch you have to give up ownership of the scheduler,
effectively passing it to the next execution context. This could help avoid
some situations here tasks retain unsafe pointers to schedulers between context
switches, across which they may have changed threads.
There are still a number of uses of unsafe scheduler pointers.
2013-04-15 17:45:34 -07:00
Brian Anderson
ebefe07792
core::rt: Make Scheduler::unsafe_local return a fabricated region pointer
...
Instead of taking a closure. It's unsafe either way. Rename it to unsafe_local_borrow.
2013-04-15 16:00:15 -07:00
Brian Anderson
473b4d19ad
core::rt: Rename Scheduler::local to Scheduler::unsafe_local
2013-04-15 15:32:43 -07:00
Brian Anderson
3b8a354c21
core::rt: A little bit of cleanup to thread-local scheduler
2013-04-15 15:25:29 -07:00
Brian Anderson
1f8ebb6a8e
core::rt: Move thread-local scheduler to its own module
2013-04-15 15:18:49 -07:00