Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added epoll to WASIX #3830

Closed
wants to merge 72 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
0e0dec2
Added asynchronous IO syscalls for WASIX based on generic wakers
john-sharratt Apr 28, 2023
5b10567
Merge branch 'asynchronous-threading-phase2' into asynchronous-io
john-sharratt May 13, 2023
495d8fa
Merge branch 'asynchronous-threading-phase2' into asynchronous-io
john-sharratt May 13, 2023
32a7e5a
Merge branch 'asynchronous-threading-phase2' into asynchronous-io
john-sharratt May 13, 2023
55861a4
No longer supporting 64bit in this version - other things have to be …
john-sharratt May 13, 2023
89bef74
Merge branch 'asynchronous-threading-phase2' into asynchronous-io
john-sharratt May 13, 2023
bb4e518
Merge branch 'asynchronous-threading-phase2' into asynchronous-io
john-sharratt May 16, 2023
e27bbad
Merge branch 'master' into asynchronous-io
john-sharratt May 16, 2023
b0604fa
Merge branch 'master' into asynchronous-io
john-sharratt Jun 17, 2023
815b181
Clearup of the documentation
john-sharratt Jun 17, 2023
f29f50b
Cleanup of some of the logic, looks ready
john-sharratt Jun 17, 2023
b226ea5
Implemented the socket polling methods and fixed the wakers
john-sharratt Jun 20, 2023
ca30bf1
Fix for linting
john-sharratt Jun 20, 2023
5427c5e
Merge branch 'master' into asynchronous-io
john-sharratt Jun 20, 2023
7a54d76
Merge branch 'master' into asynchronous-io
john-sharratt Jun 20, 2023
51f66b6
Fixes for the waker implementation
john-sharratt Jun 20, 2023
97b71ce
Merge branch 'asynchronous-io' of github.com:wasmerio/wasmer into asy…
john-sharratt Jun 20, 2023
8082549
Minor refactoring
john-sharratt Jun 20, 2023
f1d451e
Fixed an issue with runtimes running in runtimes
john-sharratt Jun 20, 2023
cf3a878
Removed the tokio runtime from the Runtime trait - wasm threads now r…
john-sharratt Jun 21, 2023
cc5c83c
Merge branch 'master' into asynchronous-io
john-sharratt Jun 21, 2023
6f30820
Switched to the threading pool
john-sharratt Jun 21, 2023
1f644f8
Removed the shared tokio runtime
john-sharratt Jun 21, 2023
f842403
Added a fix for the reqwest http client
john-sharratt Jun 21, 2023
fd55348
Tokio context is only coniditonally entered thus allowing for reentrance
john-sharratt Jun 21, 2023
f7b91c4
Implemented epoll for asynchronous IO
john-sharratt Jun 23, 2023
fa47c6a
Now passing through the epoll interest events rather than abstracting it
john-sharratt Jun 25, 2023
0d9ec43
Hiding more of the API's for epoll
john-sharratt Jun 25, 2023
59f8acf
Added waker conversion helper
john-sharratt Jun 25, 2023
057e327
Merge branch 'master' into asynchronous-io
john-sharratt Jun 25, 2023
4f4c6fe
Removed extra pending operation
john-sharratt Jun 25, 2023
1884c62
Resolved compilation regression issues
john-sharratt Jun 25, 2023
8e8d4dd
Fixed a regression issue on Stdout runtimes
john-sharratt Jun 25, 2023
6fb884b
Fixed a regression issue on preview1.sock_accept
john-sharratt Jun 25, 2023
4752cc3
Fixed some integration tests
john-sharratt Jun 25, 2023
d0e08a5
Fixed for nonblocking pipes
john-sharratt Jun 25, 2023
c4c3bca
Added more integration tests
john-sharratt Jun 25, 2023
b54275f
Fixed some linting issues
john-sharratt Jun 27, 2023
fab5c7b
Fixes for capi
john-sharratt Jun 27, 2023
a7f4460
Added fixes for the existing poll_oneoff loop
john-sharratt Jun 27, 2023
6f475ec
More linting fixes
john-sharratt Jun 27, 2023
45825d7
Fixed an issue where capi did not have a tokio runtime
john-sharratt Jun 27, 2023
1becbad
New epoll functionality is now backwards compatible with poll_oneoff
john-sharratt Jun 27, 2023
d86ab4b
Merge branch 'master' into asynchronous-io
theduke Jun 27, 2023
53d3819
Merge branch 'master' into asynchronous-io
john-sharratt Jun 28, 2023
4d707c1
Fixes for the integration and unit tests
john-sharratt Jun 28, 2023
f9e7118
Fixed unit tests for virtual-fs
john-sharratt Jun 28, 2023
bf8d2a3
Fix for linting
john-sharratt Jun 28, 2023
3056cdb
Fix for runtime guard scope
john-sharratt Jun 28, 2023
17047da
Fixes for examples
john-sharratt Jun 28, 2023
1e620ef
Fixed a compile issue with serde
john-sharratt Jun 28, 2023
3d1bccd
Fixes for runtimes in JS
john-sharratt Jun 28, 2023
21755f4
Fix for MIO
john-sharratt Jun 28, 2023
c2e2ad7
Added a runtime startup phase
john-sharratt Jun 28, 2023
3cbcb62
Added dependency needed for examples
john-sharratt Jun 28, 2023
2a0c177
Added dependency needed for examples
john-sharratt Jun 28, 2023
68284bd
Added proper tokio initializtion on wasi_wast tests
ptitSeb Jun 28, 2023
87be930
Merge branch 'master' into asynchronous-io
ptitSeb Jun 28, 2023
d05a92b
Initialze tokio runtime for env_var_errors test
ptitSeb Jun 28, 2023
a65a3a3
This should fix the C-API tests, but will not allows some wasix calls…
ptitSeb Jun 28, 2023
bfb7b81
Fixed nodejs build
ptitSeb Jun 28, 2023
d94b096
Better fix for wasi_wast and the C-API
ptitSeb Jun 28, 2023
cd5c7a1
Fixed lint
ptitSeb Jun 28, 2023
9e2cb84
Merge branch 'master' into asynchronous-io
john-sharratt Jun 29, 2023
7305924
Fixed a compile issue on wasi-web
john-sharratt Jun 29, 2023
9db874b
Merge branch 'master' into asynchronous-io
ptitSeb Jun 30, 2023
eab445c
Fixed CAPI, by transfering ownership of tokio runtime to wasi_env fro…
ptitSeb Jun 30, 2023
151b0ab
Fix for the python use case
john-sharratt Jul 2, 2023
1ce7e04
Added a faster path on the epoll wait with timeout path
john-sharratt Jul 2, 2023
71e1591
Fixed an issue where the notifications were not renewed on epoll enab…
john-sharratt Jul 2, 2023
5c6424b
Disabling 1 test temporarily to see if CI is not stuck
ptitSeb Jul 3, 2023
0e0ab9c
Revert last change, it doesn't fix the CI issue
ptitSeb Jul 3, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions lib/wasi-types/src/wasi/bindings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ pub type Filesize = u64;
pub type Timestamp = u64;
#[doc = " A file descriptor handle."]
pub type Fd = u32;
#[doc = " Reference to a waker (used for asynchronous IO)."]
pub type WakerId = u64;
#[doc = " A reference to the offset of a directory entry."]
pub type Dircookie = u64;
#[doc = " The type for the `dirent::d-namlen` field of `dirent` struct."]
Expand Down Expand Up @@ -255,6 +257,10 @@ pub enum Errno {
Shutdown,
#[doc = " Memory access violation."]
Memviolation,

/// ID's unique to WASIX
#[doc = " Invocation is pending until the waker is woken."]
Pending = 100,
#[doc = " An unknown error has occured"]
Unknown,
}
Expand Down Expand Up @@ -340,6 +346,7 @@ impl Errno {
Errno::Notcapable => "notcapable",
Errno::Shutdown => "shutdown",
Errno::Memviolation => "memviolation",
Errno::Pending => "pending",
Errno::Unknown => "unknown",
}
}
Expand Down Expand Up @@ -424,6 +431,7 @@ impl Errno {
Errno::Notcapable => "Extension: Capabilities insufficient.",
Errno::Shutdown => "Cannot send after socket shutdown.",
Errno::Memviolation => "Memory access violation.",
Errno::Pending => "Pending asynchronous wake.",
Errno::Unknown => "An unknown error has occured",
}
}
Expand Down
30 changes: 30 additions & 0 deletions lib/wasi/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -461,10 +461,13 @@ fn wasix_exports_32(mut store: &mut impl AsStoreMut, env: &FunctionEnv<WasiEnv>)
"fd_filestat_set_size" => Function::new_typed_with_env(&mut store, env, fd_filestat_set_size),
"fd_filestat_set_times" => Function::new_typed_with_env(&mut store, env, fd_filestat_set_times),
"fd_pread" => Function::new_typed_with_env(&mut store, env, fd_pread::<Memory32>),
"fd_pread_poll" => Function::new_typed_with_env(&mut store, env, fd_pread_poll::<Memory32>),
"fd_prestat_get" => Function::new_typed_with_env(&mut store, env, fd_prestat_get::<Memory32>),
"fd_prestat_dir_name" => Function::new_typed_with_env(&mut store, env, fd_prestat_dir_name::<Memory32>),
"fd_pwrite" => Function::new_typed_with_env(&mut store, env, fd_pwrite::<Memory32>),
"fd_pwrite_poll" => Function::new_typed_with_env(&mut store, env, fd_pwrite_poll::<Memory32>),
"fd_read" => Function::new_typed_with_env(&mut store, env, fd_read::<Memory32>),
"fd_read_poll" => Function::new_typed_with_env(&mut store, env, fd_read_poll::<Memory32>),
"fd_readdir" => Function::new_typed_with_env(&mut store, env, fd_readdir::<Memory32>),
"fd_renumber" => Function::new_typed_with_env(&mut store, env, fd_renumber),
"fd_dup" => Function::new_typed_with_env(&mut store, env, fd_dup::<Memory32>),
Expand All @@ -473,6 +476,7 @@ fn wasix_exports_32(mut store: &mut impl AsStoreMut, env: &FunctionEnv<WasiEnv>)
"fd_sync" => Function::new_typed_with_env(&mut store, env, fd_sync),
"fd_tell" => Function::new_typed_with_env(&mut store, env, fd_tell::<Memory32>),
"fd_write" => Function::new_typed_with_env(&mut store, env, fd_write::<Memory32>),
"fd_write_poll" => Function::new_typed_with_env(&mut store, env, fd_write_poll::<Memory32>),
"fd_pipe" => Function::new_typed_with_env(&mut store, env, fd_pipe::<Memory32>),
"path_create_directory" => Function::new_typed_with_env(&mut store, env, path_create_directory::<Memory32>),
"path_filestat_get" => Function::new_typed_with_env(&mut store, env, path_filestat_get::<Memory32>),
Expand All @@ -488,6 +492,7 @@ fn wasix_exports_32(mut store: &mut impl AsStoreMut, env: &FunctionEnv<WasiEnv>)
"proc_exit" => Function::new_typed_with_env(&mut store, env, proc_exit::<Memory32>),
"proc_fork" => Function::new_typed_with_env(&mut store, env, proc_fork::<Memory32>),
"proc_join" => Function::new_typed_with_env(&mut store, env, proc_join::<Memory32>),
"proc_join_poll" => Function::new_typed_with_env(&mut store, env, proc_join_poll::<Memory32>),
"proc_signal" => Function::new_typed_with_env(&mut store, env, proc_signal::<Memory32>),
"proc_exec" => Function::new_typed_with_env(&mut store, env, proc_exec::<Memory32>),
"proc_raise" => Function::new_typed_with_env(&mut store, env, proc_raise),
Expand All @@ -504,21 +509,26 @@ fn wasix_exports_32(mut store: &mut impl AsStoreMut, env: &FunctionEnv<WasiEnv>)
"callback_thread" => Function::new_typed_with_env(&mut store, env, callback_thread::<Memory32>),
"callback_reactor" => Function::new_typed_with_env(&mut store, env, callback_reactor::<Memory32>),
"callback_thread_local_destroy" => Function::new_typed_with_env(&mut store, env, callback_thread_local_destroy::<Memory32>),
"callback_waker_wake" => Function::new_typed_with_env(&mut store, env, callback_waker_wake::<Memory32>),
"callback_waker_drop" => Function::new_typed_with_env(&mut store, env, callback_waker_drop::<Memory32>),
"thread_spawn" => Function::new_typed_with_env(&mut store, env, thread_spawn::<Memory32>),
"thread_local_create" => Function::new_typed_with_env(&mut store, env, thread_local_create::<Memory32>),
"thread_local_destroy" => Function::new_typed_with_env(&mut store, env, thread_local_destroy),
"thread_local_set" => Function::new_typed_with_env(&mut store, env, thread_local_set),
"thread_local_get" => Function::new_typed_with_env(&mut store, env, thread_local_get::<Memory32>),
"thread_sleep" => Function::new_typed_with_env(&mut store, env, thread_sleep::<Memory32>),
"thread_sleep_poll" => Function::new_typed_with_env(&mut store, env, thread_sleep_poll::<Memory32>),
"thread_id" => Function::new_typed_with_env(&mut store, env, thread_id::<Memory32>),
"thread_signal" => Function::new_typed_with_env(&mut store, env, thread_signal),
"thread_join" => Function::new_typed_with_env(&mut store, env, thread_join::<Memory32>),
"thread_join_poll" => Function::new_typed_with_env(&mut store, env, thread_join_poll::<Memory32>),
"thread_parallelism" => Function::new_typed_with_env(&mut store, env, thread_parallelism::<Memory32>),
"thread_exit" => Function::new_typed_with_env(&mut store, env, thread_exit),
"sched_yield" => Function::new_typed_with_env(&mut store, env, sched_yield::<Memory32>),
"stack_checkpoint" => Function::new_typed_with_env(&mut store, env, stack_checkpoint::<Memory32>),
"stack_restore" => Function::new_typed_with_env(&mut store, env, stack_restore::<Memory32>),
"futex_wait" => Function::new_typed_with_env(&mut store, env, futex_wait::<Memory32>),
"futex_wait_poll" => Function::new_typed_with_env(&mut store, env, futex_wait_poll::<Memory32>),
"futex_wake" => Function::new_typed_with_env(&mut store, env, futex_wake::<Memory32>),
"futex_wake_all" => Function::new_typed_with_env(&mut store, env, futex_wake_all::<Memory32>),
"port_bridge" => Function::new_typed_with_env(&mut store, env, port_bridge::<Memory32>),
Expand Down Expand Up @@ -551,11 +561,16 @@ fn wasix_exports_32(mut store: &mut impl AsStoreMut, env: &FunctionEnv<WasiEnv>)
"sock_bind" => Function::new_typed_with_env(&mut store, env, sock_bind::<Memory32>),
"sock_listen" => Function::new_typed_with_env(&mut store, env, sock_listen::<Memory32>),
"sock_accept" => Function::new_typed_with_env(&mut store, env, sock_accept::<Memory32>),
"sock_accept_poll" => Function::new_typed_with_env(&mut store, env, sock_accept_poll::<Memory32>),
"sock_connect" => Function::new_typed_with_env(&mut store, env, sock_connect::<Memory32>),
"sock_recv" => Function::new_typed_with_env(&mut store, env, sock_recv::<Memory32>),
"sock_recv_poll" => Function::new_typed_with_env(&mut store, env, sock_recv_poll::<Memory32>),
"sock_recv_from" => Function::new_typed_with_env(&mut store, env, sock_recv_from::<Memory32>),
"sock_recv_from_poll" => Function::new_typed_with_env(&mut store, env, sock_recv_from_poll::<Memory32>),
"sock_send" => Function::new_typed_with_env(&mut store, env, sock_send::<Memory32>),
"sock_send_poll" => Function::new_typed_with_env(&mut store, env, sock_send_poll::<Memory32>),
"sock_send_to" => Function::new_typed_with_env(&mut store, env, sock_send_to::<Memory32>),
"sock_send_to_poll" => Function::new_typed_with_env(&mut store, env, sock_send_to_poll::<Memory32>),
"sock_send_file" => Function::new_typed_with_env(&mut store, env, sock_send_file::<Memory32>),
"sock_shutdown" => Function::new_typed_with_env(&mut store, env, sock_shutdown),
"resolve" => Function::new_typed_with_env(&mut store, env, resolve::<Memory32>),
Expand Down Expand Up @@ -584,10 +599,13 @@ fn wasix_exports_64(mut store: &mut impl AsStoreMut, env: &FunctionEnv<WasiEnv>)
"fd_filestat_set_size" => Function::new_typed_with_env(&mut store, env, fd_filestat_set_size),
"fd_filestat_set_times" => Function::new_typed_with_env(&mut store, env, fd_filestat_set_times),
"fd_pread" => Function::new_typed_with_env(&mut store, env, fd_pread::<Memory64>),
"fd_pread_poll" => Function::new_typed_with_env(&mut store, env, fd_pread_poll::<Memory64>),
"fd_prestat_get" => Function::new_typed_with_env(&mut store, env, fd_prestat_get::<Memory64>),
"fd_prestat_dir_name" => Function::new_typed_with_env(&mut store, env, fd_prestat_dir_name::<Memory64>),
"fd_pwrite" => Function::new_typed_with_env(&mut store, env, fd_pwrite::<Memory64>),
"fd_pwrite_poll" => Function::new_typed_with_env(&mut store, env, fd_pwrite_poll::<Memory64>),
"fd_read" => Function::new_typed_with_env(&mut store, env, fd_read::<Memory64>),
"fd_read_poll" => Function::new_typed_with_env(&mut store, env, fd_read_poll::<Memory64>),
"fd_readdir" => Function::new_typed_with_env(&mut store, env, fd_readdir::<Memory64>),
"fd_renumber" => Function::new_typed_with_env(&mut store, env, fd_renumber),
"fd_dup" => Function::new_typed_with_env(&mut store, env, fd_dup::<Memory64>),
Expand All @@ -596,6 +614,7 @@ fn wasix_exports_64(mut store: &mut impl AsStoreMut, env: &FunctionEnv<WasiEnv>)
"fd_sync" => Function::new_typed_with_env(&mut store, env, fd_sync),
"fd_tell" => Function::new_typed_with_env(&mut store, env, fd_tell::<Memory64>),
"fd_write" => Function::new_typed_with_env(&mut store, env, fd_write::<Memory64>),
"fd_write_poll" => Function::new_typed_with_env(&mut store, env, fd_write_poll::<Memory64>),
"fd_pipe" => Function::new_typed_with_env(&mut store, env, fd_pipe::<Memory64>),
"path_create_directory" => Function::new_typed_with_env(&mut store, env, path_create_directory::<Memory64>),
"path_filestat_get" => Function::new_typed_with_env(&mut store, env, path_filestat_get::<Memory64>),
Expand All @@ -611,6 +630,7 @@ fn wasix_exports_64(mut store: &mut impl AsStoreMut, env: &FunctionEnv<WasiEnv>)
"proc_exit" => Function::new_typed_with_env(&mut store, env, proc_exit::<Memory64>),
"proc_fork" => Function::new_typed_with_env(&mut store, env, proc_fork::<Memory64>),
"proc_join" => Function::new_typed_with_env(&mut store, env, proc_join::<Memory64>),
"proc_join_poll" => Function::new_typed_with_env(&mut store, env, proc_join_poll::<Memory64>),
"proc_signal" => Function::new_typed_with_env(&mut store, env, proc_signal::<Memory64>),
"proc_exec" => Function::new_typed_with_env(&mut store, env, proc_exec::<Memory64>),
"proc_raise" => Function::new_typed_with_env(&mut store, env, proc_raise),
Expand All @@ -627,21 +647,26 @@ fn wasix_exports_64(mut store: &mut impl AsStoreMut, env: &FunctionEnv<WasiEnv>)
"callback_thread" => Function::new_typed_with_env(&mut store, env, callback_thread::<Memory64>),
"callback_reactor" => Function::new_typed_with_env(&mut store, env, callback_reactor::<Memory64>),
"callback_thread_local_destroy" => Function::new_typed_with_env(&mut store, env, callback_thread_local_destroy::<Memory64>),
"callback_waker_wake" => Function::new_typed_with_env(&mut store, env, callback_waker_wake::<Memory64>),
"callback_waker_drop" => Function::new_typed_with_env(&mut store, env, callback_waker_drop::<Memory64>),
"thread_spawn" => Function::new_typed_with_env(&mut store, env, thread_spawn::<Memory64>),
"thread_local_create" => Function::new_typed_with_env(&mut store, env, thread_local_create::<Memory64>),
"thread_local_destroy" => Function::new_typed_with_env(&mut store, env, thread_local_destroy),
"thread_local_set" => Function::new_typed_with_env(&mut store, env, thread_local_set),
"thread_local_get" => Function::new_typed_with_env(&mut store, env, thread_local_get::<Memory64>),
"thread_sleep" => Function::new_typed_with_env(&mut store, env, thread_sleep::<Memory64>),
"thread_sleep_poll" => Function::new_typed_with_env(&mut store, env, thread_sleep_poll::<Memory64>),
"thread_id" => Function::new_typed_with_env(&mut store, env, thread_id::<Memory64>),
"thread_signal" => Function::new_typed_with_env(&mut store, env, thread_signal),
"thread_join" => Function::new_typed_with_env(&mut store, env, thread_join::<Memory64>),
"thread_join_poll" => Function::new_typed_with_env(&mut store, env, thread_join_poll::<Memory64>),
"thread_parallelism" => Function::new_typed_with_env(&mut store, env, thread_parallelism::<Memory64>),
"thread_exit" => Function::new_typed_with_env(&mut store, env, thread_exit),
"sched_yield" => Function::new_typed_with_env(&mut store, env, sched_yield::<Memory64>),
"stack_checkpoint" => Function::new_typed_with_env(&mut store, env, stack_checkpoint::<Memory64>),
"stack_restore" => Function::new_typed_with_env(&mut store, env, stack_restore::<Memory64>),
"futex_wait" => Function::new_typed_with_env(&mut store, env, futex_wait::<Memory64>),
"futex_wait_poll" => Function::new_typed_with_env(&mut store, env, futex_wait_poll::<Memory64>),
"futex_wake" => Function::new_typed_with_env(&mut store, env, futex_wake::<Memory64>),
"futex_wake_all" => Function::new_typed_with_env(&mut store, env, futex_wake_all::<Memory64>),
"port_bridge" => Function::new_typed_with_env(&mut store, env, port_bridge::<Memory64>),
Expand Down Expand Up @@ -674,11 +699,16 @@ fn wasix_exports_64(mut store: &mut impl AsStoreMut, env: &FunctionEnv<WasiEnv>)
"sock_bind" => Function::new_typed_with_env(&mut store, env, sock_bind::<Memory64>),
"sock_listen" => Function::new_typed_with_env(&mut store, env, sock_listen::<Memory64>),
"sock_accept" => Function::new_typed_with_env(&mut store, env, sock_accept::<Memory64>),
"sock_accept_poll" => Function::new_typed_with_env(&mut store, env, sock_accept_poll::<Memory64>),
"sock_connect" => Function::new_typed_with_env(&mut store, env, sock_connect::<Memory64>),
"sock_recv" => Function::new_typed_with_env(&mut store, env, sock_recv::<Memory64>),
"sock_recv_poll" => Function::new_typed_with_env(&mut store, env, sock_recv_poll::<Memory64>),
"sock_recv_from" => Function::new_typed_with_env(&mut store, env, sock_recv_from::<Memory64>),
"sock_recv_from_poll" => Function::new_typed_with_env(&mut store, env, sock_recv_from_poll::<Memory64>),
"sock_send" => Function::new_typed_with_env(&mut store, env, sock_send::<Memory64>),
"sock_send_poll" => Function::new_typed_with_env(&mut store, env, sock_send_poll::<Memory64>),
"sock_send_to" => Function::new_typed_with_env(&mut store, env, sock_send_to::<Memory64>),
"sock_send_to_poll" => Function::new_typed_with_env(&mut store, env, sock_send_to_poll::<Memory64>),
"sock_send_file" => Function::new_typed_with_env(&mut store, env, sock_send_file::<Memory64>),
"sock_shutdown" => Function::new_typed_with_env(&mut store, env, sock_shutdown),
"resolve" => Function::new_typed_with_env(&mut store, env, resolve::<Memory64>),
Expand Down
1 change: 1 addition & 0 deletions lib/wasi/src/state/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -716,6 +716,7 @@ impl WasiEnvBuilder {

let state = WasiState {
fs: wasi_fs,
wakers: Default::default(),
secret: rand::thread_rng().gen::<[u8; 32]>(),
inodes,
args: self.args.clone(),
Expand Down
Loading