From fbaba0f404bb3079006ad4132a192761086b541f Mon Sep 17 00:00:00 2001 From: Jeff Olson Date: Fri, 27 Apr 2012 21:01:31 -0700 Subject: [PATCH] std: add ll::loop_refcount binding for uv_loop_refcount --- src/libstd/uv_ll.rs | 5 +++++ src/rt/rust_uv.cpp | 5 +++++ src/rt/rustrt.def.in | 1 + 3 files changed, 11 insertions(+) diff --git a/src/libstd/uv_ll.rs b/src/libstd/uv_ll.rs index ff5c618cdff..31d36430aec 100644 --- a/src/libstd/uv_ll.rs +++ b/src/libstd/uv_ll.rs @@ -512,6 +512,7 @@ mod uv_ll_struct_stubgen { native mod rustrt { fn rust_uv_loop_new() -> *libc::c_void; fn rust_uv_loop_delete(lp: *libc::c_void); + fn rust_uv_loop_refcount(loop_ptr: *libc::c_void) -> libc::c_int; fn rust_uv_run(loop_handle: *libc::c_void); fn rust_uv_close(handle: *libc::c_void, cb: *u8); fn rust_uv_async_send(handle: *uv_async_t); @@ -601,6 +602,10 @@ unsafe fn loop_delete(loop_handle: *libc::c_void) { rustrt::rust_uv_loop_delete(loop_handle); } +unsafe fn loop_refcount(loop_ptr: *libc::c_void) -> libc::c_int { + ret rustrt::rust_uv_loop_refcount(loop_ptr); +} + unsafe fn run(loop_handle: *libc::c_void) { rustrt::rust_uv_run(loop_handle); } diff --git a/src/rt/rust_uv.cpp b/src/rt/rust_uv.cpp index 7c0602f0a02..84cf14f47ed 100644 --- a/src/rt/rust_uv.cpp +++ b/src/rt/rust_uv.cpp @@ -111,6 +111,11 @@ rust_uv_loop_delete(uv_loop_t* loop) { uv_loop_delete(loop); } +extern "C" int +rust_uv_loop_refcount(uv_loop_t* loop) { + return uv_loop_refcount(loop); +} + extern "C" void rust_uv_loop_set_data(uv_loop_t* loop, void* data) { loop->data = data; diff --git a/src/rt/rustrt.def.in b/src/rt/rustrt.def.in index 545c3581425..49d63202741 100644 --- a/src/rt/rustrt.def.in +++ b/src/rt/rustrt.def.in @@ -86,6 +86,7 @@ upcall_del_stack upcall_reset_stack_limit rust_uv_loop_new rust_uv_loop_delete +rust_uv_loop_refcount rust_uv_loop_set_data rust_uv_bind_op_cb rust_uv_stop_op_cb