runtime: wake_slot default ON (RFC 005 accepted, finding 18); supervisor stops survivors sequentially so reverse-order teardown is guaranteed; deflake gen_server/channel tests; baseline.json regenerated slot-on; ROADMAP notes
This commit is contained in:
+9
-1
@@ -137,11 +137,19 @@ fn channel_ops_interleaved_with_monitor_churn_multi_thread() {
|
||||
for i in 0..32i64 {
|
||||
let tx = tx.clone();
|
||||
handles.push(spawn(move || {
|
||||
// Short-lived target whose death fires the monitor below.
|
||||
// Short-lived target whose death fires the monitor below. It
|
||||
// waits for `go` so the monitor is registered before it can
|
||||
// die — otherwise a fast target yields an immediate NoProc
|
||||
// Down instead of the finalize-sent Exit this test is about
|
||||
// (pre-existing ~8% flake at 4 threads, independent of the
|
||||
// wake slot).
|
||||
let (go_tx, go_rx) = channel::<()>();
|
||||
let t = spawn(move || {
|
||||
let _ = go_rx.recv();
|
||||
tx.send(i).unwrap();
|
||||
});
|
||||
let m = smarm::monitor(t.pid());
|
||||
go_tx.send(()).unwrap();
|
||||
t.join().unwrap();
|
||||
// Down delivery exercises send-from-finalize.
|
||||
let d = m.rx.recv().unwrap();
|
||||
|
||||
Reference in New Issue
Block a user