// // <errno.h> -- COMPLETE // public static Errno GetLastError() { if (Environment.OSVersion.Platform != PlatformID.Unix) { // On Windows Marshal.GetLastWin32Error() doesn't take errno // into account so we need to call Mono_Posix_Stdlib_GetLastError() // which returns the value of errno in the C runtime // libMonoPosixHelper.dll was linked against. return((Errno)_GetLastError()); } return(NativeConvert.ToErrno(Marshal.GetLastWin32Error())); }
// // <errno.h> -- COMPLETE // public static Errno GetLastError() { // Always call Marshal.GetLastWin32Error() before the OS check, // even on Windows where we don't use the return value. If we do // the OS check first Environment.OSVersion (if it happens to be // the first ever access) will clobber Marshal.GetLastWin32Error() // and we won't get the desired errno value on non-Windows platforms. int errno = Marshal.GetLastWin32Error(); if (Environment.OSVersion.Platform != PlatformID.Unix) { // On Windows Marshal.GetLastWin32Error() doesn't take errno // into account so we need to call Mono_Posix_Stdlib_GetLastError() // which returns the value of errno in the C runtime // libMonoPosixHelper.dll was linked against. errno = _GetLastError(); } return(NativeConvert.ToErrno(errno)); }
// // <errno.h> -- COMPLETE // public static Errno GetLastError() { int errno = Marshal.GetLastWin32Error(); return(NativeConvert.ToErrno(errno)); }
public static Errno GetLastError() { return(NativeConvert.ToErrno(Marshal.GetLastWin32Error())); }