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` /// If `detail` is `true`, the `detail` field of the `IoError`
/// struct is filled with an allocated string describing the error /// struct is filled with an allocated string describing the error
/// in more detail, retrieved from the operating system. /// 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); let mut err = sys::decode_error(errno as i32);
if detail && err.kind == OtherIoError { if detail && err.kind == OtherIoError {
err.detail = Some(os::error_string(errno).chars() err.detail = Some(os::error_string(errno).chars()
@@ -353,7 +353,7 @@ impl IoError {
/// operating system) between the call(s) for which errors are /// operating system) between the call(s) for which errors are
/// being checked and the call of this function. /// being checked and the call of this function.
pub fn last_error() -> IoError { 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 /// Returns the platform-specific value of errno
pub fn errno() -> uint { pub fn errno() -> i32 {
sys::os::errno() as uint sys::os::errno() as i32
} }
/// Return the string corresponding to an `errno()` value of `errnum`. /// Return the string corresponding to an `errno()` value of `errnum`.
@@ -524,15 +524,15 @@ pub fn errno() -> uint {
/// use std::os; /// use std::os;
/// ///
/// // Same as println!("{}", last_os_error()); /// // 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); return sys::os::error_string(errnum as i32);
} }
/// Get a string representing the platform-dependent last error /// Get a string representing the platform-dependent last error
pub fn last_os_error() -> String { pub fn last_os_error() -> String {
error_string(errno() as uint) error_string(errno() as i32)
} }
/// Sets the process exit code /// Sets the process exit code

View File

@@ -388,7 +388,7 @@ impl Process {
match unsafe { c::select(max, &mut set, ptr::null_mut(), match unsafe { c::select(max, &mut set, ptr::null_mut(),
ptr::null_mut(), p) } { ptr::null_mut(), p) } {
// interrupted, retry // 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 // We read something, break out and process
1 | 2 => {} 1 | 2 => {}

View File

@@ -198,7 +198,7 @@ fn helper(input: libc::c_int, messages: Receiver<Req>, _: ()) {
assert_eq!(fd.read(&mut buf).ok().unwrap(), 1); 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 => panic!("helper thread failed in select() with error: {} ({})",
n, os::last_os_error()) n, os::last_os_error())
} }