about summary refs log tree commit diff
path: root/src/libstd/timer.rs
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2013-04-09 01:31:42 -0400
committerAlex Crichton <alex@alexcrichton.com>2013-04-14 01:15:46 -0400
commit52445129fdb4ee847332acbf516ced8f73b7990a (patch)
tree4e9ae621e947b49af1e6d84d725896bf293da7cf /src/libstd/timer.rs
parentd9595d1737677dd61d9f52f674c34f13d708e39c (diff)
downloadrust-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.rs74
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();
 }
 
 /**