about summary refs log tree commit diff
path: root/src/libstd/path
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2013-11-21 16:55:40 -0800
committerAlex Crichton <alex@alexcrichton.com>2013-11-24 21:21:12 -0800
commitacca9e3834842ee8d8104abe9b8b9bb88861793c (patch)
tree5b2ab145e0853d74661cae51726baceaca2ab884 /src/libstd/path
parent85a1eff3a99c5d60bf34ca6f08f87ed341329af0 (diff)
downloadrust-acca9e3834842ee8d8104abe9b8b9bb88861793c.tar.gz
rust-acca9e3834842ee8d8104abe9b8b9bb88861793c.zip
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
Diffstat (limited to 'src/libstd/path')
-rw-r--r--src/libstd/path/posix.rs1
-rw-r--r--src/libstd/path/windows.rs1
2 files changed, 0 insertions, 2 deletions
diff --git a/src/libstd/path/posix.rs b/src/libstd/path/posix.rs
index 86f1e7f6e86..37329a3cfbd 100644
--- a/src/libstd/path/posix.rs
+++ b/src/libstd/path/posix.rs
@@ -565,7 +565,6 @@ mod tests {
             ($name:expr => $code:block) => (
                 {
                     let mut t = task::task();
-                    t.supervised();
                     t.name($name);
                     let res = do t.try $code;
                     assert!(res.is_err());
diff --git a/src/libstd/path/windows.rs b/src/libstd/path/windows.rs
index d5bc6b85424..4ee490a303b 100644
--- a/src/libstd/path/windows.rs
+++ b/src/libstd/path/windows.rs
@@ -1290,7 +1290,6 @@ mod tests {
             ($name:expr => $code:block) => (
                 {
                     let mut t = task::task();
-                    t.supervised();
                     t.name($name);
                     let res = do t.try $code;
                     assert!(res.is_err());