From 78fa02106eefe7526a47808caaee0dbe1857ef2e Mon Sep 17 00:00:00 2001 From: Ted Horst Date: Tue, 17 Jul 2012 23:13:11 -0500 Subject: [PATCH] call task::yield in comm::peek --- src/libcore/comm.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libcore/comm.rs b/src/libcore/comm.rs index e20278bc3931..7e1ef280ea61 100644 --- a/src/libcore/comm.rs +++ b/src/libcore/comm.rs @@ -211,6 +211,9 @@ fn recv_(p: *rust_port) -> T { } fn peek_(p: *rust_port) -> bool { + // Yield here before we check to see if someone sent us a message + // FIXME #524, if the compilergenerates yields, we don't need this + task::yield(); rustrt::rust_port_size(p) != 0u as libc::size_t }