Implement RFC 11: Redesigning Wasmtime's APIs (#2897)
Implement Wasmtime's new API as designed by RFC 11. This is quite a large commit which has had lots of discussion externally, so for more information it's best to read the RFC thread and the PR thread.
This commit is contained in:
@@ -149,7 +149,7 @@ use mach_addons::*;
|
||||
pub enum Void {}
|
||||
/// For now this is basically unused, we don't expose this any more for
|
||||
/// Wasmtime on macOS.
|
||||
pub type SignalHandler<'a> = dyn Fn(Void) -> bool + 'a;
|
||||
pub type SignalHandler<'a> = dyn Fn(Void) -> bool + Send + Sync + 'a;
|
||||
|
||||
/// Process-global port that we use to route thread-level exceptions to.
|
||||
static mut WASMTIME_PORT: mach_port_name_t = MACH_PORT_NULL;
|
||||
|
||||
@@ -7,7 +7,7 @@ use std::ptr::{self, null_mut};
|
||||
|
||||
/// Function which may handle custom signals while processing traps.
|
||||
pub type SignalHandler<'a> =
|
||||
dyn Fn(libc::c_int, *const libc::siginfo_t, *const libc::c_void) -> bool + 'a;
|
||||
dyn Fn(libc::c_int, *const libc::siginfo_t, *const libc::c_void) -> bool + Send + Sync + 'a;
|
||||
|
||||
static mut PREV_SIGSEGV: MaybeUninit<libc::sigaction> = MaybeUninit::uninit();
|
||||
static mut PREV_SIGBUS: MaybeUninit<libc::sigaction> = MaybeUninit::uninit();
|
||||
|
||||
@@ -6,7 +6,8 @@ use winapi::um::winnt::*;
|
||||
use winapi::vc::excpt::*;
|
||||
|
||||
/// Function which may handle custom signals while processing traps.
|
||||
pub type SignalHandler<'a> = dyn Fn(winapi::um::winnt::PEXCEPTION_POINTERS) -> bool + 'a;
|
||||
pub type SignalHandler<'a> =
|
||||
dyn Fn(winapi::um::winnt::PEXCEPTION_POINTERS) -> bool + Send + Sync + 'a;
|
||||
|
||||
pub unsafe fn platform_init() {
|
||||
// our trap handler needs to go first, so that we can recover from
|
||||
|
||||
Reference in New Issue
Block a user