wasmer_wasix/syscalls/wasix/
thread_parallelism.rs1use super::*;
2use crate::syscalls::*;
3
4#[instrument(level = "trace", skip_all, fields(parallelism = field::Empty), ret)]
8pub fn thread_parallelism<M: MemorySize>(
9 ctx: FunctionEnvMut<'_, WasiEnv>,
10 ret_parallelism: WasmPtr<M::Offset, M>,
11) -> Errno {
12 let env = ctx.data();
13 let parallelism = wasi_try!(env.tasks().thread_parallelism().map_err(|err| {
14 let err: Errno = err.into();
15 err
16 }));
17 Span::current().record("parallelism", parallelism);
18 let parallelism: M::Offset = wasi_try!(parallelism.try_into().map_err(|_| Errno::Overflow));
19 let memory = unsafe { env.memory_view(&ctx) };
20 wasi_try_mem!(ret_parallelism.write(&memory, parallelism));
21 Errno::Success
22}