about summary refs log tree commit diff
path: root/src/rt/rust_uv.cpp
diff options
context:
space:
mode:
authorJeff Olson <olson.jeffery@gmail.com>2012-03-30 07:19:45 -0700
committerBrian Anderson <banderson@mozilla.com>2012-04-06 15:35:49 -0700
commit2c26cf7f96252aad623dd2ca688a8d9782fc57c5 (patch)
tree2ac99558f17ca4cc0d27dbf175a1c8edc930e8bd /src/rt/rust_uv.cpp
parent717632168515cc3249fa6610baf484713c132226 (diff)
downloadrust-2c26cf7f96252aad623dd2ca688a8d9782fc57c5.tar.gz
rust-2c26cf7f96252aad623dd2ca688a8d9782fc57c5.zip
add low-level uv_async bindings for use in tcp test
Diffstat (limited to 'src/rt/rust_uv.cpp')
-rw-r--r--src/rt/rust_uv.cpp27
1 files changed, 19 insertions, 8 deletions
diff --git a/src/rt/rust_uv.cpp b/src/rt/rust_uv.cpp
index 7a6a79ce17b..6303bd700a6 100644
--- a/src/rt/rust_uv.cpp
+++ b/src/rt/rust_uv.cpp
@@ -167,15 +167,22 @@ rust_uv_async_send(uv_async_t* handle) {
     uv_async_send(handle);
 }
 
+extern "C" int
+rust_uv_async_init(uv_loop_t* loop_handle,
+				   uv_async_t* async_handle,
+				   uv_async_cb cb) {
+	return uv_async_init(loop_handle, async_handle, cb);
+}
+
 extern "C" void*
-rust_uv_async_init(uv_loop_t* loop, crust_simple_cb cb,
-                                                 uint8_t* buf) {
-        uv_async_t* async = (uv_async_t*)current_kernel_malloc(
-                sizeof(uv_async_t),
-                "uv_async_t");
-        uv_async_init(loop, async, native_async_cb);
-        handle_data* data = new_handle_data_from(buf, cb);
-        async->data = data;
+rust_uv_hilvl_async_init(uv_loop_t* loop, crust_simple_cb cb,
+						 uint8_t* buf) {
+	uv_async_t* async = (uv_async_t*)current_kernel_malloc(
+		sizeof(uv_async_t),
+		"uv_async_t");
+	uv_async_init(loop, async, native_async_cb);
+	handle_data* data = new_handle_data_from(buf, cb);
+	async->data = data;
 
         return async;
 }
@@ -270,6 +277,10 @@ extern "C" size_t
 rust_uv_helper_sockaddr_in_size() {
 	return sizeof(sockaddr_in);
 }
+extern "C" size_t
+rust_uv_helper_uv_async_t_size() {
+	return sizeof(uv_async_t);
+}
 
 extern "C" uv_stream_t*
 rust_uv_get_stream_handle_from_connect_req(uv_connect_t* connect) {