5 releases
0.1.4 | Oct 1, 2022 |
---|---|
0.1.3 | Aug 21, 2022 |
0.1.2 | Apr 7, 2022 |
0.1.1 | Jun 9, 2018 |
0.1.0 | Dec 9, 2017 |
#907 in Unix APIs
36 downloads per month
Used in 4 crates
(3 directly)
8KB
50 lines
shmemfdrs
This tiny little crate provides a function that creates anonymous shared memory file descriptors for IPC, using the best available platform-specific method:
- on Linux, unless the
memfd
Cargo feature is disabled: memfd (requires kernel >= 3.17) - on FreeBSD: shm_open(SHM_ANON)
- otherwise: shm_open with a name, instantly unlinked
memfd
and SHM_ANON
are actually anonymous from the start, i.e. they don't need access the filesystem at all, so they work well with process sandboxes like Capsicum.
(memfd
actually uses the provided name
, but only for debugging purposes.)
Usage
There's just one function exported from this crate:
fn create_shmem<T: AsRef<CStr>>(name: T, length: usize) -> c_int
Should be easy to figure out :)
The name should start with /
and shouldn't be very long (255 characters max).
Contributing
Please feel free to submit pull requests!
By participating in this project you agree to follow the Contributor Code of Conduct.
License
Licensed under the Apache License, Version 2.0 < LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0 > or the MIT license < LICENSE-MIT or https://opensource.org/licenses/MIT >, at your option.
Dependencies
~44KB