diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2013-04-09 01:31:42 -0400 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2013-04-14 01:15:46 -0400 |
| commit | 52445129fdb4ee847332acbf516ced8f73b7990a (patch) | |
| tree | 4e9ae621e947b49af1e6d84d725896bf293da7cf /src/libstd/timer.rs | |
| parent | d9595d1737677dd61d9f52f674c34f13d708e39c (diff) | |
| download | rust-52445129fdb4ee847332acbf516ced8f73b7990a.tar.gz rust-52445129fdb4ee847332acbf516ced8f73b7990a.zip | |
std: remove unused unsafe blocks/functions
Diffstat (limited to 'src/libstd/timer.rs')
| -rw-r--r-- | src/libstd/timer.rs | 74 |
1 files changed, 36 insertions, 38 deletions
diff --git a/src/libstd/timer.rs b/src/libstd/timer.rs index 229d1a07caa..99e772b0c95 100644 --- a/src/libstd/timer.rs +++ b/src/libstd/timer.rs @@ -42,47 +42,45 @@ pub fn delayed_send<T:Owned>(iotask: &IoTask, msecs: uint, ch: &Chan<T>, val: T) { + let (timer_done_po, timer_done_ch) = stream::<()>(); + let timer_done_ch = SharedChan(timer_done_ch); + let timer = uv::ll::timer_t(); + let timer_ptr = ptr::addr_of(&timer); + do iotask::interact(iotask) |loop_ptr| { unsafe { - let (timer_done_po, timer_done_ch) = stream::<()>(); - let timer_done_ch = SharedChan(timer_done_ch); - let timer = uv::ll::timer_t(); - let timer_ptr = ptr::addr_of(&timer); - do iotask::interact(iotask) |loop_ptr| { - unsafe { - let init_result = uv::ll::timer_init(loop_ptr, timer_ptr); - if (init_result == 0i32) { - let start_result = uv::ll::timer_start( - timer_ptr, delayed_send_cb, msecs, 0u); - if (start_result == 0i32) { - // Note: putting the channel into a ~ - // to cast to *c_void - let timer_done_ch_clone = ~timer_done_ch.clone(); - let timer_done_ch_ptr = transmute::< - ~SharedChan<()>, *c_void>( - timer_done_ch_clone); - uv::ll::set_data_for_uv_handle( - timer_ptr, - timer_done_ch_ptr); - } else { - let error_msg = uv::ll::get_last_err_info( - loop_ptr); - fail!(~"timer::delayed_send() start failed: " + - error_msg); - } - } else { - let error_msg = uv::ll::get_last_err_info(loop_ptr); - fail!(~"timer::delayed_send() init failed: " + - error_msg); - } + let init_result = uv::ll::timer_init(loop_ptr, timer_ptr); + if (init_result == 0i32) { + let start_result = uv::ll::timer_start( + timer_ptr, delayed_send_cb, msecs, 0u); + if (start_result == 0i32) { + // Note: putting the channel into a ~ + // to cast to *c_void + let timer_done_ch_clone = ~timer_done_ch.clone(); + let timer_done_ch_ptr = transmute::< + ~SharedChan<()>, *c_void>( + timer_done_ch_clone); + uv::ll::set_data_for_uv_handle( + timer_ptr, + timer_done_ch_ptr); + } else { + let error_msg = uv::ll::get_last_err_info( + loop_ptr); + fail!(~"timer::delayed_send() start failed: " + + error_msg); } - }; - // delayed_send_cb has been processed by libuv - timer_done_po.recv(); - // notify the caller immediately - ch.send(val); - // uv_close for this timer has been processed - timer_done_po.recv(); + } else { + let error_msg = uv::ll::get_last_err_info(loop_ptr); + fail!(~"timer::delayed_send() init failed: " + + error_msg); + } + } }; + // delayed_send_cb has been processed by libuv + timer_done_po.recv(); + // notify the caller immediately + ch.send(val); + // uv_close for this timer has been processed + timer_done_po.recv(); } /** |
