mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-04 12:02:55 +00:00
unsafe impls for `Send` and `Sync` should not be added by default. in the case of `SlotGuard` removing them does not cause any issues, as the compiler automatically derives those. This PR adds requirement to document the unsafety (see [clippy::undocumented_unsafe_blocks]) and opportunistically adds `#![deny(unsafe_code)]` to most places where we don't have unsafe code right now. TRPL on Send and Sync: https://doc.rust-lang.org/book/ch16-04-extensible-concurrency-sync-and-send.html [clippy::undocumented_unsafe_blocks]: https://rust-lang.github.io/rust-clippy/master/#/undocumented_unsafe_blocks
8 lines
314 B
Rust
8 lines
314 B
Rust
/// Immediately terminate the calling process without calling
|
|
/// atexit callbacks, C runtime destructors etc. We mainly use
|
|
/// this to protect coverage data from concurrent writes.
|
|
pub fn exit_now(code: u8) -> ! {
|
|
// SAFETY: exiting is safe, the ffi is not safe
|
|
unsafe { nix::libc::_exit(code as _) };
|
|
}
|