]> git.lizzy.rs Git - rust.git/commit
Remove linked failure from the runtime
authorAlex Crichton <alex@alexcrichton.com>
Fri, 22 Nov 2013 00:55:40 +0000 (16:55 -0800)
committerAlex Crichton <alex@alexcrichton.com>
Mon, 25 Nov 2013 05:21:12 +0000 (21:21 -0800)
commitacca9e3834842ee8d8104abe9b8b9bb88861793c
tree5b2ab145e0853d74661cae51726baceaca2ab884
parent85a1eff3a99c5d60bf34ca6f08f87ed341329af0
Remove linked failure from the runtime

The reasons for doing this are:

* The model on which linked failure is based is inherently complex
* The implementation is also very complex, and there are few remaining who
  fully understand the implementation
* There are existing race conditions in the core context switching function of
  the scheduler, and possibly others.
* It's unclear whether this model of linked failure maps well to a 1:1 threading
  model

Linked failure is often a desired aspect of tasks, but we would like to take a
much more conservative approach in re-implementing linked failure if at all.

Closes #8674
Closes #8318
Closes #8863
39 files changed:
doc/rust.md
doc/tutorial-tasks.md
src/libextra/arc.rs
src/libextra/comm.rs
src/libextra/future.rs
src/libextra/sync.rs
src/libextra/test.rs
src/libextra/time.rs
src/librustc/lib.rs
src/librustdoc/html/render.rs
src/librustuv/file.rs
src/librustuv/net.rs
src/librustuv/pipe.rs
src/librustuv/uvio.rs
src/libstd/path/posix.rs
src/libstd/path/windows.rs
src/libstd/rand/os.rs
src/libstd/rt/kill.rs
src/libstd/rt/mod.rs
src/libstd/rt/sched.rs
src/libstd/rt/task.rs
src/libstd/run.rs
src/libstd/select.rs
src/libstd/task/mod.rs
src/libstd/task/spawn.rs
src/libstd/unstable/finally.rs
src/libstd/unstable/sync.rs
src/test/bench/shootout-k-nucleotide-pipes.rs
src/test/bench/task-perf-jargon-metal-smoke.rs
src/test/bench/task-perf-linked-failure.rs
src/test/run-fail/fail-task-name-none.rs
src/test/run-fail/fail-task-name-owned.rs
src/test/run-fail/fail-task-name-send-str.rs
src/test/run-fail/fail-task-name-static.rs
src/test/run-fail/task-spawn-barefn.rs
src/test/run-pass/unwind-box.rs
src/test/run-pass/unwind-resource.rs
src/test/run-pass/unwind-resource2.rs
src/test/run-pass/unwind-unique.rs