package eio_main

  1. Overview
  2. Docs

Source file eio_main.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
let force run fn =
  run ~fallback:(fun (`Msg msg) -> failwith msg) fn

let run fn =
  match Sys.getenv_opt "EIO_BACKEND" with
  | Some ("io-uring" | "linux") -> force Linux_backend.run fn
  | Some "posix" -> force Posix_backend.run fn
  | Some "luv" -> force Luv_backend.run fn
  | None | Some "" ->
    Linux_backend.run fn ~fallback:(fun _ ->
        Posix_backend.run fn ~fallback:(fun _ ->
            force Luv_backend.run fn
          )
      )
  | Some x -> Fmt.failwith "Unknown Eio backend %S (from $EIO_BACKEND)" x
OCaml

Innovation. Community. Security.