Skip to content

Commit 51c3d1f

Browse files
committed
---
yaml --- r: 5869 b: refs/heads/master c: 1abebf0 h: refs/heads/master i: 5867: 6f5a3f3 v: v3
1 parent d43ce99 commit 51c3d1f

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: a4956a7cddae26361022899d0e9a64e821422d5c
2+
refs/heads/master: 1abebf042a0dc8fcbf6c313e20046ca68e3d09ed

trunk/src/lib/aio.rs

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ fn ip_to_sbuf(ip: net::ip_addr) -> *u8 unsafe {
4949
vec::to_ptr(str::bytes(net::format_addr(ip)))
5050
}
5151

52-
fn connect_task(ip: net::ip_addr, portnum: int, evt: chan<socket_event>) {
52+
fn# connect_task(args: (net::ip_addr, int, chan<socket_event>)) {
53+
let (ip, portnum, evt) = args;
5354
let connecter = port();
5455
rustrt::aio_connect(ip_to_sbuf(ip), portnum, chan(connecter));
5556
let client = recv(connecter);
@@ -83,7 +84,8 @@ fn new_client(client: client, evt: chan<socket_event>) {
8384
log "close message sent";
8485
}
8586

86-
fn accept_task(client: client, events: chan<server_event>) {
87+
fn# accept_task(args: (client, chan<server_event>)) {
88+
let (client, events) = args;
8789
log "accept task was spawned";
8890
let p = port();
8991
send(events, pending(chan(p)));
@@ -92,8 +94,9 @@ fn accept_task(client: client, events: chan<server_event>) {
9294
log "done accepting";
9395
}
9496

95-
fn server_task(ip: net::ip_addr, portnum: int, events: chan<server_event>,
96-
server: chan<server>) {
97+
fn# server_task(args: (net::ip_addr, int, chan<server_event>,
98+
chan<server>)) {
99+
let (ip, portnum, events, server) = args;
97100
let accepter = port();
98101
send(server, rustrt::aio_serve(ip_to_sbuf(ip), portnum, chan(accepter)));
99102

@@ -104,11 +107,11 @@ fn server_task(ip: net::ip_addr, portnum: int, events: chan<server_event>,
104107
if rustrt::aio_is_null_client(client) {
105108
log "client was actually null, returning";
106109
ret;
107-
} else { task::spawn(bind accept_task(client, events)); }
110+
} else { task::spawn2((client, events), accept_task); }
108111
}
109112
}
110113

111-
fn request_task(c: chan<ctx>) {
114+
fn# request_task(c: chan<ctx>) {
112115
// Create a port to accept IO requests on
113116
let p = port();
114117
// Hand of its channel to our spawner
@@ -126,10 +129,10 @@ fn request_task(c: chan<ctx>) {
126129
ret;
127130
}
128131
connect(remote(ip, portnum), client) {
129-
task::spawn(bind connect_task(ip, portnum, client));
132+
task::spawn2((ip, portnum, client), connect_task);
130133
}
131134
serve(ip, portnum, events, server) {
132-
task::spawn(bind server_task(ip, portnum, events, server));
135+
task::spawn2((ip, portnum, events, server), server_task);
133136
}
134137
write(socket, v, status) unsafe {
135138
rustrt::aio_writedata(socket, vec::unsafe::to_ptr::<u8>(v),
@@ -147,14 +150,14 @@ fn request_task(c: chan<ctx>) {
147150
}
148151
}
149152

150-
fn iotask(c: chan<ctx>) {
153+
fn# iotask(c: chan<ctx>) {
151154
log "io task spawned";
152155
// Initialize before accepting requests
153156
rustrt::aio_init();
154157

155158
log "io task init";
156159
// Spawn our request task
157-
let reqtask = task::spawn_joinable(bind request_task(c));
160+
let reqtask = task::spawn_joinable2(c, request_task);
158161

159162
log "uv run task init";
160163
// Enter IO loop. This never returns until aio_stop is called.
@@ -166,7 +169,7 @@ fn iotask(c: chan<ctx>) {
166169

167170
fn new() -> ctx {
168171
let p: port<ctx> = port();
169-
task::spawn(bind iotask(chan(p)));
172+
task::spawn2(chan(p), iotask);
170173
ret recv(p);
171174
}
172175

0 commit comments

Comments
 (0)