about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-09-25 12:02:52 +0000
committerbors <bors@rust-lang.org>2014-09-25 12:02:52 +0000
commit375fe17218965e77ed46ab458da53cb90e2e83f5 (patch)
tree5439a027a50a20a2ad4407e631c405b470098f35
parentd299bafb31a7c0528e690e48ec6d5591f1eb0bac (diff)
parentd4b7bdae33fbd80da27b02d40211e926fff7ac6d (diff)
downloadrust-375fe17218965e77ed46ab458da53cb90e2e83f5.tar.gz
rust-375fe17218965e77ed46ab458da53cb90e2e83f5.zip
auto merge of #17497 : nodakai/rust/libnative-misc-fixes, r=alexcrichton
libnative/io: datasync() wrongly called fsync().
liblibc and libnative: send() should use const buffers.
-rw-r--r--src/liblibc/lib.rs4
-rw-r--r--src/libnative/io/file_unix.rs2
-rw-r--r--src/libnative/io/net.rs2
-rw-r--r--src/libnative/io/pipe_unix.rs2
4 files changed, 5 insertions, 5 deletions
diff --git a/src/liblibc/lib.rs b/src/liblibc/lib.rs
index 35b05a672b2..494c98bc54d 100644
--- a/src/liblibc/lib.rs
+++ b/src/liblibc/lib.rs
@@ -4633,7 +4633,7 @@ pub mod funcs {
                               option_len: socklen_t) -> c_int;
             pub fn recv(socket: c_int, buf: *mut c_void, len: size_t,
                         flags: c_int) -> ssize_t;
-            pub fn send(socket: c_int, buf: *mut c_void, len: size_t,
+            pub fn send(socket: c_int, buf: *const c_void, len: size_t,
                         flags: c_int) -> ssize_t;
             pub fn recvfrom(socket: c_int, buf: *mut c_void, len: size_t,
                             flags: c_int, addr: *mut sockaddr,
@@ -4673,7 +4673,7 @@ pub mod funcs {
             pub fn closesocket(socket: SOCKET) -> c_int;
             pub fn recv(socket: SOCKET, buf: *mut c_void, len: c_int,
                         flags: c_int) -> c_int;
-            pub fn send(socket: SOCKET, buf: *mut c_void, len: c_int,
+            pub fn send(socket: SOCKET, buf: *const c_void, len: c_int,
                         flags: c_int) -> c_int;
             pub fn recvfrom(socket: SOCKET, buf: *mut c_void, len: c_int,
                             flags: c_int, addr: *mut sockaddr,
diff --git a/src/libnative/io/file_unix.rs b/src/libnative/io/file_unix.rs
index 3c49e1c40d6..90fbc7729d4 100644
--- a/src/libnative/io/file_unix.rs
+++ b/src/libnative/io/file_unix.rs
@@ -303,7 +303,7 @@ impl rtio::RtioFileStream for CFile {
         self.flush().and_then(|()| self.fd.fsync())
     }
     fn datasync(&mut self) -> IoResult<()> {
-        self.flush().and_then(|()| self.fd.fsync())
+        self.flush().and_then(|()| self.fd.datasync())
     }
     fn truncate(&mut self, offset: i64) -> IoResult<()> {
         self.flush().and_then(|()| self.fd.truncate(offset))
diff --git a/src/libnative/io/net.rs b/src/libnative/io/net.rs
index 8418e741167..335a52b0bbe 100644
--- a/src/libnative/io/net.rs
+++ b/src/libnative/io/net.rs
@@ -337,7 +337,7 @@ impl rtio::RtioTcpStream for TcpStream {
         let dowrite = |nb: bool, buf: *const u8, len: uint| unsafe {
             let flags = if nb {c::MSG_DONTWAIT} else {0};
             libc::send(fd,
-                       buf as *mut libc::c_void,
+                       buf as *const _,
                        len as wrlen,
                        flags) as i64
         };
diff --git a/src/libnative/io/pipe_unix.rs b/src/libnative/io/pipe_unix.rs
index c222907fa5b..48f31615339 100644
--- a/src/libnative/io/pipe_unix.rs
+++ b/src/libnative/io/pipe_unix.rs
@@ -173,7 +173,7 @@ impl rtio::RtioPipe for UnixStream {
         let dowrite = |nb: bool, buf: *const u8, len: uint| unsafe {
             let flags = if nb {c::MSG_DONTWAIT} else {0};
             libc::send(fd,
-                       buf as *mut libc::c_void,
+                       buf as *const _,
                        len as libc::size_t,
                        flags) as i64
         };