package picos_io

  1. Overview
  2. Docs
Asynchronous IO system for Picos

Install

Dune Dependency

Authors

Maintainers

Sources

picos-0.6.0.tbz
sha256=3f5a08199cf65c2dae2f7d68f3877178f1da8eabf5376e15114e5a8958087dfa
sha512=ad24910c47ce614268c4268874bb918da7f8b5f03b3ad706bbf30323635262e94ddab6be24eaebbca706bfa82c0a517d4272b396459e020c185942125c9bdb7b

doc/picos_io.select/Picos_io_select/Intr/index.html

Module Picos_io_select.IntrSource

A mechanism to interrupt blocking Unix IO operations.

⚠️ The mechanism uses a signal which should not be used for other purposes.

⚠️ Beware that signal handling in OCaml 5.0.0 is known to be broken and several fixes were included in OCaml 5.1.0.

Sourcetype t

Represents an optional interrupt request.

Sourceval nothing : t

A constant for a no request. clr nothing does nothing.

Sourceval req : seconds:float -> t

req ~seconds requests an interrupt in the form of a signal delivered to the thread that made the request within the specified number of seconds. Blocking Unix IO calls typically raise an error with the Unix.EINTR error code when they are interrupted by a signal. Regardless of whether the signal gets triggered or a system call gets interrupted, the request must be cleared exactly once!

⚠️ Due to limitations of the OCaml system modules and unlike with typical timeout mechanisms, the interrupt may also be triggered sooner.

Sourceval clr : t -> unit

clr req either cancels or acknowledges the interrupt request. Every req must be cleared exactly once!

OCaml

Innovation. Community. Security.