package memfd

  1. Overview
  2. Docs
Create and manage Linux Memory Mapped Files

Install

Dune Dependency

Authors

Maintainers

Sources

memfd-0.1.0.tbz
sha256=078ae990f6c0924abf294693a91e00c70c9062a925be180f97dee3cba15bb958
sha512=bef05e931bbb75376667957f73fadc81996edcc515023d0bc53e0b6bffac3ba1627b77f58c8d9abd308f5f5c4e4198045276d7ad46bb49bda0854a6a107ea986

doc/README.html

CI

Documentation

Memfd

Create and manage Linux Memory Mapped Files

What is memfd

As per Linux manual, "memfd_create() creates an anonymous file and returns a file descriptor that refers to it. The file behaves like a regular file, and so can be modified, truncated, memory-mapped, and so on. However, unlike a regular file, it lives in RAM and has a volatile backing storage. Once all references to the file are dropped, it is automatically released. Anonymous memory is used for all backing pages of the file. Therefore, files created by memfd_create() have the same semantics as other anonymous memory allocations such as those allocated using mmap(2) with the MAP_ANONYMOUS flag."

This library manages the call to Linux memfd_create(), including kernel version guard and other conveniences.

Unix.file_descr and memfd

This library is unopinionated about the conversion between Unix.file_descr and memfd, therefore no such function is exposed. You can check out this line in the test for reference: https://github.com/gborough/memfd/blob/b3a615924aff705798d7c6e4e33f48cf51fa64a8/test/test_memfd.ml#L11

CAVEAT

To use this library on Alpine Linux/musl, make sure to install related packages that include memfd.h

OCaml

Innovation. Community. Security.