From 0b2f2cabbe3fbe6e18cbf0f8a174b7d4789fc938 Mon Sep 17 00:00:00 2001 From: Eric Holk Date: Tue, 22 May 2012 14:10:32 -0700 Subject: Send is no longer a subkind of copy. This allows for sendable, but non-copyable resources. Closes #2420. --- src/libstd/timer.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/libstd/timer.rs') diff --git a/src/libstd/timer.rs b/src/libstd/timer.rs index 524accf6f1a..cf2c10aa998 100644 --- a/src/libstd/timer.rs +++ b/src/libstd/timer.rs @@ -20,7 +20,7 @@ for *at least* that period of time. * ch - a channel of type T to send a `val` on * val - a value of type T to send over the provided `ch` "] -fn delayed_send(msecs: uint, ch: comm::chan, val: T) { +fn delayed_send(msecs: uint, ch: comm::chan, val: T) { task::spawn() {|| unsafe { let timer_done_po = comm::port::<()>(); @@ -94,7 +94,9 @@ An `option` representing the outcome of the call. If the call `recv`'d on the provided port in the allotted timeout period, then the result will be a `some(T)`. If not, then `none` will be returned. "] -fn recv_timeout(msecs: uint, wait_po: comm::port) -> option { +fn recv_timeout(msecs: uint, wait_po: comm::port) + -> option { + let timeout_po = comm::port::<()>(); let timeout_ch = comm::chan(timeout_po); delayed_send(msecs, timeout_ch, ()); -- cgit 1.4.1-3-g733a5