std::os::errno returns platform specific value. fixes #21898

This commit is contained in:
Jormundir 2015-02-03 22:01:24 -08:00
parent ac134f7ca4
commit b877b77f13
4 changed files with 9 additions and 9 deletions

View File

@ -337,7 +337,7 @@ impl IoError {
/// If `detail` is `true`, the `detail` field of the `IoError`
/// struct is filled with an allocated string describing the error
/// in more detail, retrieved from the operating system.
pub fn from_errno(errno: uint, detail: bool) -> IoError {
pub fn from_errno(errno: i32, detail: bool) -> IoError {
let mut err = sys::decode_error(errno as i32);
if detail && err.kind == OtherIoError {
err.detail = Some(os::error_string(errno).chars()
@ -353,7 +353,7 @@ pub fn from_errno(errno: uint, detail: bool) -> IoError {
/// operating system) between the call(s) for which errors are
/// being checked and the call of this function.
pub fn last_error() -> IoError {
IoError::from_errno(os::errno() as uint, true)
IoError::from_errno(os::errno() as i32, true)
}
}

View File

@ -513,8 +513,8 @@ pub fn change_dir(p: &Path) -> IoResult<()> {
}
/// Returns the platform-specific value of errno
pub fn errno() -> uint {
sys::os::errno() as uint
pub fn errno() -> i32 {
sys::os::errno() as i32
}
/// Return the string corresponding to an `errno()` value of `errnum`.
@ -524,15 +524,15 @@ pub fn errno() -> uint {
/// use std::os;
///
/// // Same as println!("{}", last_os_error());
/// println!("{}", os::error_string(os::errno() as uint));
/// println!("{}", os::error_string(os::errno() as i32));
/// ```
pub fn error_string(errnum: uint) -> String {
pub fn error_string(errnum: i32) -> String {
return sys::os::error_string(errnum as i32);
}
/// Get a string representing the platform-dependent last error
pub fn last_os_error() -> String {
error_string(errno() as uint)
error_string(errno() as i32)
}
/// Sets the process exit code

View File

@ -388,7 +388,7 @@ fn waitpid_helper(input: libc::c_int,
match unsafe { c::select(max, &mut set, ptr::null_mut(),
ptr::null_mut(), p) } {
// interrupted, retry
-1 if os::errno() == libc::EINTR as uint => continue,
-1 if os::errno() == libc::EINTR as i32 => continue,
// We read something, break out and process
1 | 2 => {}

View File

@ -198,7 +198,7 @@ fn signal(active: &mut Vec<Box<Inner>>,
assert_eq!(fd.read(&mut buf).ok().unwrap(), 1);
}
-1 if os::errno() == libc::EINTR as uint => {}
-1 if os::errno() == libc::EINTR as i32 => {}
n => panic!("helper thread failed in select() with error: {} ({})",
n, os::last_os_error())
}