diff options
| author | bors <bors@rust-lang.org> | 2014-06-18 14:26:42 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-06-18 14:26:42 +0000 |
| commit | 78cb2f5bc0244edeb0f7f042c81f16931c437d27 (patch) | |
| tree | 02b3469125c2d093879dc89298b41349c6c91864 /src/libstd | |
| parent | 34e3232705539e4506ceb4c19944f7d894413fca (diff) | |
| parent | bb0a42745f7a951c298b7bc2e07f7ba1fee14100 (diff) | |
| download | rust-78cb2f5bc0244edeb0f7f042c81f16931c437d27.tar.gz rust-78cb2f5bc0244edeb0f7f042c81f16931c437d27.zip | |
auto merge of #14984 : thestinger/rust/libc, r=alexcrichton
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/os.rs | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/libstd/os.rs b/src/libstd/os.rs index dfbf61cc890..4d58d4674bf 100644 --- a/src/libstd/os.rs +++ b/src/libstd/os.rs @@ -1338,7 +1338,6 @@ impl MemoryMap { /// `ErrZeroLength`. pub fn new(min_len: uint, options: &[MapOption]) -> Result<MemoryMap, MapError> { use libc::off_t; - use cmp::Equiv; if min_len == 0 { return Err(ErrZeroLength) @@ -1371,10 +1370,10 @@ impl MemoryMap { if fd == -1 && !custom_flags { flags |= libc::MAP_ANON; } let r = unsafe { - libc::mmap(addr as *c_void, len as libc::size_t, prot, flags, fd, - offset) + libc::mmap(addr as *mut c_void, len as libc::size_t, prot, flags, + fd, offset) }; - if r.equiv(&libc::MAP_FAILED) { + if r == libc::MAP_FAILED { Err(match errno() as c_int { libc::EACCES => ErrFdNotAvail, libc::EBADF => ErrInvalidFd, @@ -1410,8 +1409,8 @@ impl Drop for MemoryMap { if self.len == 0 { /* workaround for dummy_stack */ return; } unsafe { - // FIXME: what to do if this fails? - let _ = libc::munmap(self.data as *c_void, self.len as libc::size_t); + // `munmap` only fails due to logic errors + libc::munmap(self.data as *mut c_void, self.len as libc::size_t); } } } |
