Skip to content

Commit 3c9ca41

Browse files
committed
---
yaml --- r: 67565 b: refs/heads/master c: 92f60f4 h: refs/heads/master i: 67563: 63f253e v: v3
1 parent 373e372 commit 3c9ca41

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: bd3579877326fb78ac860f92fc69f4f60bb93012
2+
refs/heads/master: 92f60f4365beb7b0677b196b1650069bd88cb616
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 18e3db7392d2d0697b7e27d6d986139960144d85
55
refs/heads/try: 7b78b52e602bb3ea8174f9b2006bff3315f03ef9

trunk/src/libstd/rt/kill.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -530,13 +530,13 @@ impl Death {
530530

531531
/// Fails if a kill signal was received.
532532
#[inline]
533-
pub fn check_killed(&self) {
533+
pub fn check_killed(&self, already_failing: bool) {
534534
match self.kill_handle {
535535
Some(ref kill_handle) =>
536536
// The task may be both unkillable and killed if it does some
537537
// synchronization during unwinding or cleanup (for example,
538538
// sending on a notify port). In that case failing won't help.
539-
if self.unkillable == 0 && kill_handle.killed() {
539+
if self.unkillable == 0 && (!already_failing) && kill_handle.killed() {
540540
fail!(KILLED_MSG);
541541
},
542542
// This may happen during task death (see comments in collect_failure).

trunk/src/libstd/rt/sched.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -600,7 +600,7 @@ impl Scheduler {
600600

601601
// Must happen after running the cleanup job (of course).
602602
let task = Local::unsafe_borrow::<Task>();
603-
(*task).death.check_killed();
603+
(*task).death.check_killed((*task).unwinder.unwinding);
604604
}
605605
}
606606

0 commit comments

Comments
 (0)