...
1 package wasi_snapshot_preview1
2
3 import (
4 "context"
5
6 "github.com/tetratelabs/wazero/api"
7 "github.com/tetratelabs/wazero/internal/wasip1"
8 "github.com/tetratelabs/wazero/internal/wasm"
9 "github.com/tetratelabs/wazero/sys"
10 )
11
12
13
14
15
16
17
18
19
20
21 var procExit = &wasm.HostFunc{
22 ExportName: wasip1.ProcExitName,
23 Name: wasip1.ProcExitName,
24 ParamTypes: []api.ValueType{i32},
25 ParamNames: []string{"rval"},
26 Code: wasm.Code{GoFunc: api.GoModuleFunc(procExitFn)},
27 }
28
29 func procExitFn(ctx context.Context, mod api.Module, params []uint64) {
30 exitCode := uint32(params[0])
31
32
33 _ = mod.CloseWithExitCode(ctx, exitCode)
34
35
36
37
38 panic(sys.NewExitError(exitCode))
39 }
40
41
42
43
44 var procRaise = stubFunction(wasip1.ProcRaiseName, []api.ValueType{i32}, "sig")
45
View as plain text