File tree Expand file tree Collapse file tree 3 files changed +4
-4
lines changed Expand file tree Collapse file tree 3 files changed +4
-4
lines changed Original file line number Diff line number Diff line change 1
1
---
2
- refs/heads/master: bd3579877326fb78ac860f92fc69f4f60bb93012
2
+ refs/heads/master: 92f60f4365beb7b0677b196b1650069bd88cb616
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
4
refs/heads/snap-stage3: 18e3db7392d2d0697b7e27d6d986139960144d85
5
5
refs/heads/try: 7b78b52e602bb3ea8174f9b2006bff3315f03ef9
Original file line number Diff line number Diff line change @@ -530,13 +530,13 @@ impl Death {
530
530
531
531
/// Fails if a kill signal was received.
532
532
#[ inline]
533
- pub fn check_killed ( & self ) {
533
+ pub fn check_killed ( & self , already_failing : bool ) {
534
534
match self . kill_handle {
535
535
Some ( ref kill_handle) =>
536
536
// The task may be both unkillable and killed if it does some
537
537
// synchronization during unwinding or cleanup (for example,
538
538
// 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 ( ) {
540
540
fail ! ( KILLED_MSG ) ;
541
541
} ,
542
542
// This may happen during task death (see comments in collect_failure).
Original file line number Diff line number Diff line change @@ -600,7 +600,7 @@ impl Scheduler {
600
600
601
601
// Must happen after running the cleanup job (of course).
602
602
let task = Local :: unsafe_borrow :: < Task > ( ) ;
603
- ( * task) . death . check_killed ( ) ;
603
+ ( * task) . death . check_killed ( ( * task ) . unwinder . unwinding ) ;
604
604
}
605
605
}
606
606
You can’t perform that action at this time.
0 commit comments