Skip to content

Commit abc90fa

Browse files
committed
---
yaml --- r: 13042 b: refs/heads/master c: 937ef18 h: refs/heads/master v: v3
1 parent 41cfd97 commit abc90fa

File tree

2 files changed

+18
-29
lines changed

2 files changed

+18
-29
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 81b8e20f31dbc5b2e985ba4109bf86fe6e06f2e2
2+
refs/heads/master: 937ef188e3539b4e83af1a0e52b41a2371e8bfd8
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
55
refs/heads/try: 2898dcc5d97da9427ac367542382b6239d9c0bbf

trunk/src/libstd/uv_iotask.rs

Lines changed: 17 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,6 @@ fn run_loop(iotask_ch: chan<iotask>) unsafe {
114114
// initialize our loop data and store it in the loop
115115
let data: iotask_loop_data = {
116116
async_handle: async_handle,
117-
mut active: true,
118117
msg_po_ptr: addr_of(msg_po)
119118
};
120119
ll::set_data_for_uv_handle(async_handle, addr_of(data));
@@ -137,7 +136,6 @@ fn run_loop(iotask_ch: chan<iotask>) unsafe {
137136
// data that lives for the lifetime of the high-evel oo
138137
type iotask_loop_data = {
139138
async_handle: *ll::uv_async_t,
140-
mut active: bool,
141139
msg_po_ptr: *port<iotask_msg>
142140
};
143141

@@ -158,29 +156,27 @@ crust fn wake_up_cb(async_handle: *ll::uv_async_t,
158156
async_handle, status));
159157
let loop_ptr = ll::get_loop_for_uv_handle(async_handle);
160158
let data = ll::get_data_for_uv_handle(async_handle) as *iotask_loop_data;
161-
// FIXME: What is this checking?
162-
if (*data).active {
163-
let msg_po = *((*data).msg_po_ptr);
164-
while msg_po.peek() {
165-
let msg = msg_po.recv();
166-
if (*data).active {
167-
alt msg {
168-
interaction(cb) {
169-
cb(loop_ptr);
170-
}
171-
teardown_loop {
172-
begin_teardown(data);
173-
}
174-
}
175-
} else {
176-
// FIXME: drop msg ?
177-
}
159+
let msg_po = *((*data).msg_po_ptr);
160+
while msg_po.peek() {
161+
let msg = msg_po.recv();
162+
alt msg {
163+
interaction(cb) {
164+
cb(loop_ptr);
165+
}
166+
teardown_loop {
167+
begin_teardown(data);
168+
}
178169
}
179-
} else {
180-
// loop not active
181170
}
182171
}
183172

173+
fn begin_teardown(data: *iotask_loop_data) unsafe {
174+
log(debug, "iotask begin_teardown() called, close async_handle");
175+
// call user-suppled before_tear_down cb
176+
let async_handle = (*data).async_handle;
177+
ll::close(async_handle as *c_void, tear_down_close_cb);
178+
}
179+
184180
crust fn tear_down_close_cb(handle: *ll::uv_async_t) unsafe {
185181
let loop_ptr = ll::get_loop_for_uv_handle(handle);
186182
let loop_refs = ll::loop_refcount(loop_ptr);
@@ -189,13 +185,6 @@ crust fn tear_down_close_cb(handle: *ll::uv_async_t) unsafe {
189185
assert loop_refs == 1i32;
190186
}
191187

192-
fn begin_teardown(data: *iotask_loop_data) unsafe {
193-
log(debug, "iotask begin_teardown() called, close async_handle");
194-
// call user-suppled before_tear_down cb
195-
let async_handle = (*data).async_handle;
196-
ll::close(async_handle as *c_void, tear_down_close_cb);
197-
}
198-
199188
#[cfg(test)]
200189
mod test {
201190
crust fn async_close_cb(handle: *ll::uv_async_t) unsafe {

0 commit comments

Comments
 (0)