Mono Class Library: Mono.Unix.UnixMarshal Overview | Members

Mono.Unix.UnixMarshal.ShouldRetrySyscall Method

Returns a bool indicating whether a system call should be retried, saving the last error value for later processing.

[System.CLSCompliant(false)]
public static bool ShouldRetrySyscall (int r, out Mono.Unix.Native.Errno errno)

Parameters

r
A int containing the return value of a method from Mono.Unix.Native.Syscall.
errno
A reference to a Mono.Unix.Native.Errno variable which will capture the last error value.

Returns

Returns true if r is -1 and Mono.Unix.Native.Stdlib.GetLastError returns Mono.Unix.Native.Errno.EINTR, in which case errno will have the value Mono.Unix.Native.Errno.EINTR. Otherwise, false is returned, and errno will store the value from the call to Mono.Unix.Native.Stdlib.GetLastError.

Remarks

System calls may need to be restarted for a variety of reasons, generally explained within the system call documentation. The most typical reason is that the system call was interrupted, and the caller is expected to re-invoke the system call to complete the operation.

This method saves the last error value returned from Mono.Unix.Native.Stdlib.GetLastError into the errno parameter.

Requirements

Namespace: Mono.Unix
Assembly: Mono.Posix (in Mono.Posix.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0