Skip to content

Commit f2b0bf7

Browse files
committed
Fix sender_double_check regression
introduce from fb4305a, mistaken SINK condition Which makes wake() always be retry Next test_basic_multi_tx_async_1_rx_blocking::case_8 (1000 senders) >60s
1 parent 3e2d3f0 commit f2b0bf7

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

src/shared.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,9 +177,9 @@ impl<F: Flavor> ChannelShared<F> {
177177
return self.senders.cancel_reuse_waker(o_waker, WakerState::Done);
178178
} else {
179179
let state = if SINK {
180-
self.senders.commit_waiting(&o_waker)
180+
WakerState::Init as u8
181181
} else {
182-
WakerState::Waiting as u8
182+
self.senders.commit_waiting(&o_waker)
183183
};
184184
if self.is_rx_closed() {
185185
return WakerState::Closed as u8;

src/waker_registry.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,8 @@ impl<P: Copy> RegistryMulti<P> {
378378
}
379379
} else if state == WakerState::Closed as u8 {
380380
return Some(Poll::Ready(()));
381+
} else {
382+
panic!("state: impossible for async {:?}", state);
381383
}
382384
}
383385
}

0 commit comments

Comments
 (0)