Example #1
0
        //
        // <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()));
        }
Example #2
0
        //
        // <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));
        }
Example #3
0
        //
        // <errno.h>  -- COMPLETE
        //

        public static Errno GetLastError()
        {
            int errno = Marshal.GetLastWin32Error();

            return(NativeConvert.ToErrno(errno));
        }
Example #4
0
 public static Errno GetLastError()
 {
     return(NativeConvert.ToErrno(Marshal.GetLastWin32Error()));
 }