| Crates.io | unwind_aborts |
| lib.rs | unwind_aborts |
| version | 0.1.1 |
| created_at | 2020-03-28 00:55:25.849622+00 |
| updated_at | 2020-03-28 00:57:46.941838+00 |
| description | Prevent your panics from unwinding past FFI boundaries with this one simple trick! |
| homepage | |
| repository | https://github.com/agausmann/unwind_aborts |
| max_upload_size | |
| id | 223691 |
| size | 5,840 |
Prevent your panics from unwinding past FFI boundaries with this one simple trick!
Intended to be used in place of #[unwind(aborts)]
until it is stabilized.
Add this to your [dependencies] in Cargo.toml:
unwind_aborts = "0.1.0"
Annotate your functions with #[unwind_aborts] to catch stack unwinding and
abort the process instead:
use unwind_aborts::unwind_aborts;
#[unwind_aborts]
pub extern fn foo() {
panic!("this is safe");
}
The example above is equivalent to:
pub extern fn foo() {
let result = std::panic::catch_unwind(|| {
panic!("this is safe");
});
match result {
Ok(x) => x,
Err(_) => std::process::abort(),
}
}