about summary refs log tree commit diff
path: root/src/libstd/task/mod.rs
AgeCommit message (Collapse)AuthorLines
2013-07-20librustc: Remove `pub extern` and `priv extern` from the language.Patrick Walton-7/+7
Place `pub` or `priv` on individual items instead.
2013-07-20Use Option .take() or .take_unwrap() instead of util::replace where possibleblake2-ppc-6/+5
2013-07-20Add watched and indestructible spawn modes.Ben Blum-0/+110
2013-07-20Fix linked failure tests to block forever instead of looping around yield.Ben Blum-29/+13
2013-07-20Change the HOF context switchers to pass a BlockedTask instead of a ~Task.Ben Blum-1/+2
2013-07-20Implement KillHandle::kill() and friends (unkillable, atomically). Close #6377.Ben Blum-35/+77
2013-07-18auto merge of #7856 : brson/rust/no-thread-per-core, r=pcwaltonbors-18/+0
This doesn't make sense under the new scheduler.
2013-07-11auto merge of #7677 : alexcrichton/rust/tls-gc, r=pcwaltonbors-0/+4
cc #6004 and #3273 This is a rewrite of TLS to get towards not requiring `@` when using task local storage. Most of the rewrite is straightforward, although there are two caveats: 1. Changing `local_set` to not require `@` is blocked on #7673 2. The code in `local_pop` is some of the most unsafe code I've written. A second set of eyes should definitely scrutinize it... The public-facing interface currently hasn't changed, although it will have to change because `local_data::get` cannot return `Option<T>`, nor can it return `Option<&T>` (the lifetime isn't known). This will have to be changed to be given a closure which yield `&T` (or as an Option). I didn't do this part of the api rewrite in this pull request as I figured that it could wait until when `@` is fully removed. This also doesn't deal with the issue of using something other than functions as keys, but I'm looking into using static slices (as mentioned in the issues).
2013-07-11Work around stage0 to remove '@' requirements from TLSAlex Crichton-0/+4
2013-07-09std: Remove ThreadPerCore spawn mode. UnusedBrian Anderson-18/+0
2013-07-08std: Add a yield implementation for newschedBrian Anderson-4/+19
2013-07-03Merge remote-tracking branch 'mozilla/master'Brian Anderson-12/+10
Conflicts: src/libextra/test.rs src/libstd/at_vec.rs src/libstd/cleanup.rs src/libstd/rt/comm.rs src/libstd/rt/global_heap.rs src/libstd/task/spawn.rs src/libstd/unstable/lang.rs src/libstd/vec.rs src/rt/rustrt.def.in src/test/run-pass/extern-pub.rs
2013-07-01Refactored the runtime to view coroutines as a component of tasks, instead ↵toddaaro-0/+1
of tasks as a component of coroutines.
2013-06-28librustc: Change "Owned" to "Send" everywherePatrick Walton-4/+4
2013-06-28std: silence some test warnings.Huon Wilson-8/+6
2013-06-16Merge remote-tracking branch 'brson/io'Brian Anderson-13/+2
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-15Merge remote-tracking branch 'brson/io-wip' into ioBrian Anderson-13/+2
Conflicts: src/libstd/rt/sched.rs src/libstd/rt/task.rs src/libstd/rt/test.rs src/libstd/task/mod.rs src/libstd/task/spawn.rs
2013-06-13std::rt: Tasks must have an unwinder. SimplerBrian Anderson-10/+1
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-6/+6
Part of #3853
2013-06-01Remove all uses of `pub impl`. rs=stylePatrick Walton-11/+11
2013-05-30Remove unnecessary 'use' formsDaniel Farina-5/+5
Fix a laundry list of warnings involving unused imports that glutted up compilation output. There are more, but there seems to be some false positives (where 'remedy' appears to break the build), but this particular set of fixes seems safe.
2013-05-30Require documentation by default for libstdAlex Crichton-0/+2
Adds documentation for various things that I understand. Adds #[allow(missing_doc)] for lots of things that I don't understand.
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-5/+10
2013-05-27Get rid of no-longer-needed #[doc(hidden)] attributes.Lindsey Kuper-1/+0
There were several old `#[doc(hidden)]` attributes in libstd and libextra, left over from when rustdoc didn't hide private definitions, tagged with `FIXME #3538`. Since #3538 is now closed, I removed the `#[doc(hidden)]` attributes as well as the FIXMEs, but I left `#[doc(hidden)]` in libstd/task/spawn.rs and libstd/task/rt.rs since those two are apparently `pub`, as well as in libextra/std.rc since std/extra is `pub`.
2013-05-22libstd: Rename libcore to libstd and libstd to libextra; update makefiles.Patrick Walton-0/+1189
This only changes the directory names; it does not change the "real" metadata names.