about summary refs log tree commit diff
path: root/src/libcore
diff options
context:
space:
mode:
authorBen Blum <bblum@andrew.cmu.edu>2012-07-31 22:29:59 -0400
committerBen Blum <bblum@andrew.cmu.edu>2012-08-01 23:08:06 -0400
commit7cb3f3e86a5500ecf40500dc9f6cedabd8e0349e (patch)
tree4848685fe1e9351f6440dc6788b5cdd416fbb194 /src/libcore
parent43b81147508c5927d93ff0a7ff28869becf405bd (diff)
Linked failure: enable unidirectional propagate test; replace FIXMEs with comments (tag #1868).
Diffstat (limited to 'src/libcore')
-rw-r--r--src/libcore/task.rs13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/libcore/task.rs b/src/libcore/task.rs
index 60ea14cf637..08ac52e44ff 100644
--- a/src/libcore/task.rs
+++ b/src/libcore/task.rs
@@ -81,11 +81,13 @@ enum task { task_handle(task_id) }
 /**
  * Indicates the manner in which a task exited.
  *
- * A task that completes without failing and whose supervised children
- * complete without failing is considered to exit successfully.
+ * A task that completes without failing is considered to exit successfully.
+ * Supervised ancestors and linked siblings may yet fail after this task
+ * succeeds. Also note that in such a case, it may be nondeterministic whether
+ * linked failure or successful exit happen first.
  *
- * FIXME (See #1868): This description does not indicate the current behavior
- * for linked failure.
+ * If you wish for this result's delivery to block until all linked and/or
+ * children tasks complete, recommend using a result future.
  */
 enum task_result {
     success,
@@ -1505,8 +1507,7 @@ fn test_spawn_linked_unsup_default_opts() { // parent fails; child fails
 // A couple bonus linked failure tests - testing for failure propagation even
 // when the middle task exits successfully early before kill signals are sent.
 
-#[test] #[should_fail] // #[ignore(cfg(windows))]
-#[ignore] // FIXME (#1868) (bblum) make this work
+#[test] #[should_fail] #[ignore(cfg(windows))]
 fn test_spawn_failure_propagate_grandchild() {
     // Middle task exits; does grandparent's failure propagate across the gap?
     do spawn_supervised {