diff options
| author | Jeff Olson <olson.jeffery@gmail.com> | 2012-04-01 13:47:08 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-04-06 15:35:49 -0700 |
| commit | 26addfdd8193b78783aa3235cb0823082b1da2c8 (patch) | |
| tree | de06110d0f64e199b052c17cf9b3834340660385 /src/libstd/uv.rs | |
| parent | 2b606ae5f3134f94080eaec83ac5864de2f6c6a0 (diff) | |
| download | rust-26addfdd8193b78783aa3235cb0823082b1da2c8.tar.gz rust-26addfdd8193b78783aa3235cb0823082b1da2c8.zip | |
fix size of uv_async_t on windows. is this the cause of the libuv segfault?
Diffstat (limited to 'src/libstd/uv.rs')
| -rw-r--r-- | src/libstd/uv.rs | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/libstd/uv.rs b/src/libstd/uv.rs index 4c4415437bc..c346862a07a 100644 --- a/src/libstd/uv.rs +++ b/src/libstd/uv.rs @@ -278,17 +278,24 @@ fn gen_stub_uv_write_t() -> uv_write_t { #[cfg(target_os = "linux")] #[cfg(target_os = "macos")] #[cfg(target_os = "freebsd")] -#[cfg(target_os = "win32")] type uv_async_t = { fields: uv_handle_fields, a00: *u8, a01: *u8, a02: *u8, a03: *u8, a04: *u8, a05: *u8, a06: *u8, a07: *u8, a08: *u8, a09: *u8, a10: *u8 }; +// win32 size 132 (68) +#[cfg(target_os = "win32")] +type uv_async_t = { + fields: uv_handle_fields, + a00: *u8, a01: *u8, a02: *u8, a03: *u8, + a04: *u8, a05: *u8, a06: *u8, a07: *u8, + a08: *u8, a09: *u8, a10: *u8, a11: *u8, + a12: *u8 +}; #[cfg(target_os = "linux")] #[cfg(target_os = "macos")] #[cfg(target_os = "freebsd")] -#[cfg(target_os = "win32")] fn gen_stub_uv_async_t() -> uv_async_t { ret { fields: { loop_handle: ptr::null(), type_: 0u32, close_cb: ptr::null(), @@ -298,6 +305,17 @@ fn gen_stub_uv_async_t() -> uv_async_t { a08: 0 as *u8, a09: 0 as *u8, a10: 0 as *u8 }; } +#[cfg(target_os = "win32")] +fn gen_stub_uv_async_t() -> uv_async_t { + ret { fields: { loop_handle: ptr::null(), type_: 0u32, + close_cb: ptr::null(), + mut data: ptr::null() }, + a00: 0 as *u8, a01: 0 as *u8, a02: 0 as *u8, a03: 0 as *u8, + a04: 0 as *u8, a05: 0 as *u8, a06: 0 as *u8, a07: 0 as *u8, + a08: 0 as *u8, a09: 0 as *u8, a10: 0 as *u8, a11: 0 as *u8, + a12: 0 as *u8 + }; +} // unix size: 16 #[cfg(target_os = "linux")] |
