fixing some libuv stuff that leaked through the rebase
This commit is contained in:
parent
b39a43cd5c
commit
79269ea064
@ -65,36 +65,37 @@ native mod rustrt {
|
|||||||
fn rust_uv_free(ptr: *libc::c_void);
|
fn rust_uv_free(ptr: *libc::c_void);
|
||||||
fn rust_uv_tcp_init(
|
fn rust_uv_tcp_init(
|
||||||
loop_handle: *libc::c_void,
|
loop_handle: *libc::c_void,
|
||||||
handle_ptr: *uv_tcp_t) -> libc::c_int;
|
handle_ptr: *ll::uv_tcp_t) -> libc::c_int;
|
||||||
fn rust_uv_buf_init(base: *u8, len: libc::size_t)
|
fn rust_uv_buf_init(base: *u8, len: libc::size_t)
|
||||||
-> uv_buf_t;
|
-> ll::uv_buf_t;
|
||||||
fn rust_uv_last_error(loop_handle: *libc::c_void) -> uv_err_t;
|
fn rust_uv_last_error(loop_handle: *libc::c_void) ->
|
||||||
|
ll::uv_err_t;
|
||||||
// FIXME ref #2064
|
// FIXME ref #2064
|
||||||
fn rust_uv_strerror(err: *uv_err_t) -> *libc::c_char;
|
fn rust_uv_strerror(err: *ll::uv_err_t) -> *libc::c_char;
|
||||||
// FIXME ref #2064
|
// FIXME ref #2064
|
||||||
fn rust_uv_err_name(err: *uv_err_t) -> *libc::c_char;
|
fn rust_uv_err_name(err: *ll::uv_err_t) -> *libc::c_char;
|
||||||
fn rust_uv_ip4_addr(ip: *u8, port: libc::c_int)
|
fn rust_uv_ip4_addr(ip: *u8, port: libc::c_int)
|
||||||
-> sockaddr_in;
|
-> ll::sockaddr_in;
|
||||||
// FIXME ref #2064
|
// FIXME ref #2064
|
||||||
fn rust_uv_tcp_connect(connect_ptr: *uv_connect_t,
|
fn rust_uv_tcp_connect(connect_ptr: *ll::uv_connect_t,
|
||||||
tcp_handle_ptr: *uv_tcp_t,
|
tcp_handle_ptr: *ll::uv_tcp_t,
|
||||||
++after_cb: *u8,
|
++after_cb: *u8,
|
||||||
++addr: *sockaddr_in) -> libc::c_int;
|
++addr: *ll::sockaddr_in) -> libc::c_int;
|
||||||
// FIXME ref 2064
|
// FIXME ref 2064
|
||||||
fn rust_uv_tcp_bind(tcp_server: *uv_tcp_t,
|
fn rust_uv_tcp_bind(tcp_server: *ll::uv_tcp_t,
|
||||||
++addr: *sockaddr_in) -> libc::c_int;
|
++addr: *ll::sockaddr_in) -> libc::c_int;
|
||||||
fn rust_uv_listen(stream: *libc::c_void, backlog: libc::c_int,
|
fn rust_uv_listen(stream: *libc::c_void, backlog: libc::c_int,
|
||||||
cb: *u8) -> libc::c_int;
|
cb: *u8) -> libc::c_int;
|
||||||
fn rust_uv_accept(server: *libc::c_void, client: *libc::c_void)
|
fn rust_uv_accept(server: *libc::c_void, client: *libc::c_void)
|
||||||
-> libc::c_int;
|
-> libc::c_int;
|
||||||
fn rust_uv_write(req: *libc::c_void, stream: *libc::c_void,
|
fn rust_uv_write(req: *libc::c_void, stream: *libc::c_void,
|
||||||
++buf_in: *uv_buf_t, buf_cnt: libc::c_int,
|
++buf_in: *ll::uv_buf_t, buf_cnt: libc::c_int,
|
||||||
cb: *u8) -> libc::c_int;
|
cb: *u8) -> libc::c_int;
|
||||||
fn rust_uv_read_start(stream: *libc::c_void, on_alloc: *u8,
|
fn rust_uv_read_start(stream: *libc::c_void, on_alloc: *u8,
|
||||||
on_read: *u8) -> libc::c_int;
|
on_read: *u8) -> libc::c_int;
|
||||||
fn rust_uv_read_stop(stream: *libc::c_void) -> libc::c_int;
|
fn rust_uv_read_stop(stream: *libc::c_void) -> libc::c_int;
|
||||||
fn rust_uv_malloc_buf_base_of(sug_size: libc::size_t) -> *u8;
|
fn rust_uv_malloc_buf_base_of(sug_size: libc::size_t) -> *u8;
|
||||||
fn rust_uv_free_base_of_buf(++buf: uv_buf_t);
|
fn rust_uv_free_base_of_buf(++buf: ll::uv_buf_t);
|
||||||
|
|
||||||
// sizeof testing helpers
|
// sizeof testing helpers
|
||||||
fn rust_uv_helper_uv_tcp_t_size() -> libc::c_uint;
|
fn rust_uv_helper_uv_tcp_t_size() -> libc::c_uint;
|
||||||
|
@ -71,6 +71,7 @@ immediately after using `uv::ll::loop_new()`
|
|||||||
A `high_level_loop` record that can be used to interact with the
|
A `high_level_loop` record that can be used to interact with the
|
||||||
loop (after you use `uv::ll::run()` on the `uv_loop_t*`, of course
|
loop (after you use `uv::ll::run()` on the `uv_loop_t*`, of course
|
||||||
"]
|
"]
|
||||||
|
#[cfg(target_archsdfsdf="bleh")]
|
||||||
unsafe fn prepare_loop(loop_ptr: *libc::c_void)
|
unsafe fn prepare_loop(loop_ptr: *libc::c_void)
|
||||||
-> high_level_loop {
|
-> high_level_loop {
|
||||||
// will probably need to stake out a data record
|
// will probably need to stake out a data record
|
||||||
@ -80,12 +81,18 @@ unsafe fn prepare_loop(loop_ptr: *libc::c_void)
|
|||||||
// move this into a malloc
|
// move this into a malloc
|
||||||
let async = ll::async_t();
|
let async = ll::async_t();
|
||||||
let async_ptr = ptr::addr_of(async);
|
let async_ptr = ptr::addr_of(async);
|
||||||
|
let op_port = comm::port::<fn~(*libc::c_void)>();
|
||||||
let async_result = ll::async_init(loop_ptr,
|
let async_result = ll::async_init(loop_ptr,
|
||||||
async_ptr,
|
async_ptr,
|
||||||
interact_ptr);
|
interact_poke);
|
||||||
if (async_result != 0i32) {
|
if (async_result != 0i32) {
|
||||||
fail ll::get_last_err_info(loop_ptr);
|
fail ll::get_last_err_info(loop_ptr);
|
||||||
}
|
}
|
||||||
|
// need to store the port and async_ptr in the top-level
|
||||||
|
// of the provided loop ..
|
||||||
|
ret { async_handle: async_ptr,
|
||||||
|
op_chan: comm::chan::<fn~(*libc::c_void)>(op_port)
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// this will be invoked by a called to uv::hl::interact(), so
|
// this will be invoked by a called to uv::hl::interact(), so
|
||||||
|
Loading…
Reference in New Issue
Block a user