package spawn

  1. Overview
  2. Docs
Spawning sub-processes

Install

Dune Dependency

Authors

Maintainers

Sources

spawn-v0.17.0.tbz
sha256=33fbb5cd4c3387a6829095cfa73d5fc2eff572be61647e6052010bfbd0c2df49
sha512=bb85d1f706774793170f2d52ccbeeeaf67558046b8012bdd8a9cefc46215522a4d59a4a6f21296b0825158e6853a2430f2642ee714e1d1d8b726442d52006fc1

Description

Spawn is a small library exposing only one functionality: spawning sub-process.

It has three main goals:

  1. provide missing features of Unix.create_process such as providing a working directory

  2. provide better errors when a system call fails in the sub-process. For instance if a command is not found, you get a proper [Unix.Unix_error] exception

  3. improve performance by using vfork when available. It is often claimed that nowadays fork is as fast as vfork, however in practice fork takes time proportional to the process memory while vfork is constant time. In application using a lot of memory, vfork can be thousands of times faster than fork.

Published: 18 Nov 2024

Dependencies (2)

  1. ocaml >= "4.05"
  2. dune >= "2.8"

Dev Dependencies (2)

  1. odoc with-doc
  2. ppx_expect with-test

Used by (10)

  1. async_interactive >= "v0.14.0"
  2. bun = "0.3.2"
  3. core < "v0.15.0"
  4. core_unix >= "v0.15.0"
  5. dune >= "3.19.0"
  6. feather >= "0.2.0"
  7. ocaml-lsp-server >= "1.9.0"
  8. shell
  9. shexp
  10. spin >= "0.8.0"

Conflicts

None

OCaml

Innovation. Community. Security.