Skip to content

Commit 0ca3a8c

Browse files
committed
rollup merge of #20548: tshepang/fix-ping-pong-benchmark
Looks like no one has checked this benchmark in a long time: its main thread quit too early, taking down the worker threads before they were done.
2 parents 308c1ba + cc18053 commit 0ca3a8c

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/test/bench/rt-messaging-ping-pong.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,21 +35,24 @@ fn ping_pong_bench(n: uint, m: uint) {
3535
// Create a channel: B->A
3636
let (btx, brx) = channel();
3737

38-
Thread::spawn(move|| {
38+
let guard_a = Thread::spawn(move|| {
3939
let (tx, rx) = (atx, brx);
4040
for _ in range(0, n) {
4141
tx.send(()).unwrap();
4242
rx.recv().unwrap();
4343
}
44-
}).detach();
44+
});
4545

46-
Thread::spawn(move|| {
46+
let guard_b = Thread::spawn(move|| {
4747
let (tx, rx) = (btx, arx);
4848
for _ in range(0, n) {
4949
rx.recv().unwrap();
5050
tx.send(()).unwrap();
5151
}
52-
}).detach();
52+
});
53+
54+
guard_a.join().ok();
55+
guard_b.join().ok();
5356
}
5457

5558
for _ in range(0, m) {

0 commit comments

Comments
 (0)