Skip to content

Commit d6ee3fa

Browse files
committed
---
yaml --- r: 15683 b: refs/heads/try c: 92e88e4 h: refs/heads/master i: 15681: 79833a5 15679: d7021b0 v: v3
1 parent a34af76 commit d6ee3fa

File tree

4 files changed

+189
-516
lines changed

4 files changed

+189
-516
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
refs/heads/master: 61b1875c16de39c166b0f4d54bba19f9c6777d1a
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
5-
refs/heads/try: 577b888e4b87437a37903abb5b70b113a9df059d
5+
refs/heads/try: 92e88e4e2ce79868daee1ac3f77a6aaa193b5896
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105

branches/try/src/libstd/timer.rs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ fn delayed_send<T: send>(msecs: uint, ch: comm::chan<T>, val: T) {
3030
let timer_ptr = ptr::addr_of(timer);
3131
let hl_loop = uv::global_loop::get();
3232
uv::hl::interact(hl_loop) {|loop_ptr|
33-
uv::hl::ref(hl_loop, timer_ptr);
3433
let init_result = uv::ll::timer_init(loop_ptr, timer_ptr);
3534
if (init_result == 0i32) {
3635
let start_result = uv::ll::timer_start(
@@ -54,9 +53,6 @@ fn delayed_send<T: send>(msecs: uint, ch: comm::chan<T>, val: T) {
5453
comm::recv(timer_done_po);
5554
// notify the caller immediately
5655
comm::send(ch, copy(val));
57-
// then clean up our handle
58-
uv::hl::unref_and_close(hl_loop, timer_ptr,
59-
delayed_send_close_cb);
6056
// uv_close for this timer has been processed
6157
comm::recv(timer_done_po);
6258
}
@@ -122,6 +118,7 @@ crust fn delayed_send_cb(handle: *uv::ll::uv_timer_t,
122118
let stop_result = uv::ll::timer_stop(handle);
123119
if (stop_result == 0i32) {
124120
comm::send(timer_done_ch, ());
121+
uv::ll::close(handle, delayed_send_close_cb);
125122
}
126123
else {
127124
let loop_ptr = uv::ll::get_loop_for_uv_handle(handle);
@@ -140,14 +137,12 @@ crust fn delayed_send_close_cb(handle: *uv::ll::uv_timer_t) unsafe {
140137
#[cfg(test)]
141138
mod test {
142139
#[test]
143-
#[ignore]
144-
fn test_timer_simple_sleep_test() {
140+
fn test_gl_timer_simple_sleep_test() {
145141
sleep(1u);
146142
}
147143

148144
#[test]
149-
#[ignore]
150-
fn test_timer_recv_timeout_before_time_passes() {
145+
fn test_gl_timer_recv_timeout_before_time_passes() {
151146
let expected = rand::rng().gen_str(16u);
152147
let test_po = comm::port::<str>();
153148
let test_ch = comm::chan(test_po);
@@ -165,8 +160,7 @@ mod test {
165160
}
166161

167162
#[test]
168-
#[ignore]
169-
fn test_timer_recv_timeout_after_time_passes() {
163+
fn test_gl_timer_recv_timeout_after_time_passes() {
170164
let expected = rand::rng().gen_str(16u);
171165
let fail_msg = rand::rng().gen_str(16u);
172166
let test_po = comm::port::<str>();

0 commit comments

Comments
 (0)