about summary refs log tree commit diff
path: root/src/libstd/rt/tube.rs
AgeCommit message (Collapse)AuthorLines
2013-12-24green: Rip the bandaid off, introduce libgreenAlex Crichton-170/+0
This extracts everything related to green scheduling from libstd and introduces a new libgreen crate. This mostly involves deleting most of std::rt and moving it to libgreen. Along with the movement of code, this commit rearchitects many functions in the scheduler in order to adapt to the fact that Local::take now *only* works on a Task, not a scheduler. This mostly just involved threading the current green task through in a few locations, but there were one or two spots where things got hairy. There are a few repercussions of this commit: * tube/rc have been removed (the runtime implementation of rc) * There is no longer a "single threaded" spawning mode for tasks. This is now encompassed by 1:1 scheduling + communication. Convenience methods have been introduced that are specific to libgreen to assist in the spawning of pools of schedulers.
2013-12-10libstd: Remove some cells involved inPatrick Walton-10/+6
`deschedule_running_task_and_then`.
2013-12-10librustuv: RAII-ify `Local::borrow`, and remove some 12 Cells.Patrick Walton-15/+14
2013-11-26test: Remove non-procedure uses of `do` from compiletest, libstd tests,Patrick Walton-8/+8
compile-fail tests, run-fail tests, and run-pass tests.
2013-11-26libstd: Remove all non-`proc` uses of `do` from libstdPatrick Walton-2/+2
2013-10-23Removed Unnecessary comments and white spaces #4386reedlepee-1/+0
2013-10-23Making fields in std and extra : private #4386reedlepee-1/+2
2013-08-27librustc: Ensure that type parameters are in the right positions in paths.Patrick Walton-6/+6
This removes the stacking of type parameters that occurs when invoking trait methods, and fixes all places in the standard library that were relying on it. It is somewhat awkward in places; I think we'll probably want something like the `Foo::<for T>::new()` syntax.
2013-08-03remove obsolete `foreach` keywordDaniel Micay-1/+1
this has been replaced by `for`
2013-08-02replace `range` with an external iteratorDaniel Micay-2/+2
2013-08-01A major refactoring that changes the way the runtime uses TLS. In thetoddaaro-5/+0
old design the TLS held the scheduler struct, and the scheduler struct held the active task. This posed all sorts of weird problems due to how we wanted to use the contents of TLS. The cleaner approach is to leave the active task in TLS and have the task hold the scheduler. To make this work out the scheduler has to run inside a regular task, and then once that is the case the context switching code is massively simplified, as instead of three possible paths there is only one. The logical flow is also easier to follow, as the scheduler struct acts somewhat like a "token" indicating what is active. These changes also necessitated changing a large number of runtime tests, and rewriting most of the runtime testing helpers. Polish level is "low", as I will very soon start on more scheduler changes that will require wiping the polish off. That being said there should be sufficient comments around anything complex to make this entirely respectable as a standalone commit.
2013-07-20Change the HOF context switchers to pass a BlockedTask instead of a ~Task.Ben Blum-6/+6
2013-07-16Rename Option swap_unwrap to take_unwrap. Fixes Issue#7764Austin King-1/+1
2013-07-01Refactored the runtime to view coroutines as a component of tasks, instead ↵toddaaro-2/+3
of tasks as a component of coroutines.
2013-06-16Merge remote-tracking branch 'brson/io'Brian Anderson-21/+15
Conflicts: src/libstd/rt/comm.rs src/libstd/rt/mod.rs src/libstd/rt/sched.rs src/libstd/rt/task.rs src/libstd/rt/test.rs src/libstd/rt/tube.rs src/libstd/rt/uv/uvio.rs src/libstd/rt/uvio.rs src/libstd/task/spawn.rs
2013-06-10debugged a compiler ICE when merging local::borrow changes into the main io ↵toddaaro-1/+1
branch and modified the incoming new file lang.rs to be api-compatible
2013-06-04std::cell: Modernize constructorsPhilipp Brüschweiler-4/+4
Part of #3853
2013-05-29Merge remote-tracking branch 'brson/io' into incomingBrian Anderson-20/+14
Conflicts: src/libstd/rt/sched.rs
2013-05-22libstd: Fix merge fallout.Patrick Walton-0/+185