diff options
| author | bors <bors@rust-lang.org> | 2013-08-13 04:59:20 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-08-13 04:59:20 -0700 |
| commit | f02cc6bf0a276115a31354b1c1530e6fe9eb4d58 (patch) | |
| tree | f5b4895221d2354eae0a71cdf1cb99eb50bac693 /src/libstd/rt/task.rs | |
| parent | c99b2b932f1da9b1746387d8968476240dadf204 (diff) | |
| parent | 5ac8c57bd420d61ed80a07746ab1a75e4062383f (diff) | |
| download | rust-f02cc6bf0a276115a31354b1c1530e6fe9eb4d58.tar.gz rust-f02cc6bf0a276115a31354b1c1530e6fe9eb4d58.zip | |
auto merge of #8411 : bblum/rust/assorted-fixes, r=brson
Each commit is pretty much what it says on the tin. r anybody.
Diffstat (limited to 'src/libstd/rt/task.rs')
| -rw-r--r-- | src/libstd/rt/task.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/libstd/rt/task.rs b/src/libstd/rt/task.rs index b50e794cce0..c669f25d8b7 100644 --- a/src/libstd/rt/task.rs +++ b/src/libstd/rt/task.rs @@ -253,12 +253,10 @@ impl Task { } } - // FIXME(#7544): We pass the taskgroup into death so that it can be - // dropped while the unkillable counter is set. This should not be - // necessary except for an extraneous clone() in task/spawn.rs that - // causes a killhandle to get dropped, which mustn't receive a kill - // signal since we're outside of the unwinder's try() scope. - // { let _ = self.taskgroup.take(); } + // NB. We pass the taskgroup into death so that it can be dropped while + // the unkillable counter is set. This is necessary for when the + // taskgroup destruction code drops references on KillHandles, which + // might require using unkillable (to synchronize with an unwrapper). self.death.collect_failure(!self.unwinder.unwinding, self.taskgroup.take()); self.destroyed = true; } |
