Representation of Unix system call results
Almost no Unix system call returns a negative integer in case of success.
We can use this to encode the result of a system call as either a positive integer
value or -errno. This allows us to avoid exceptions for dealing with errors such as
EAGAIN. Indeed, in some context we issue a system call in a tight loop that will
often fail with EAGAIN and using exceptions to return it is costly.
type 'a t = private intThere is no [@@deriving sexp_of] on purpose as it could only print the 'a value as
an integer. Use [%sexp_of: Int.t] or [%sexp_of: Unit.t].
exposed only as a performance hack
module type S : Core__.Syscall_result_intf.S with type a syscall_result := a tmodule type Arg = Core__.Syscall_result_intf.Argval create_error : Core__.Unix_error.t ‑> _ tval unit : Unit.tval is_ok : _ t ‑> boolval is_error : _ t ‑> boolval error_exn : _ t ‑> Core__.Unix_error.t