origin

Program and thread startup and shutdown in Rust

Github Actions CI Status zulip chat crates.io page docs.rs docs

Origin implements program startup and shutdown, as well as thread startup and shutdown, for Linux, implemented in Rust.

Program startup and shutdown for Linux is traditionally implemented in crt1.o, and the libc functions exit, atexit, and _exit. And thread startup and shutdown are traditionally implemented in libpthread functions pthread_create, pthread_join, pthread_detach, and so on. Origin provides its own implementations of this functionality, written in Rust.

For an C-ABI-compatible interface to this functionality, see [c-scape].

This is part of the [Mustang] project, building Rust programs written entirely in Rust.