From ba3b3e8938a5b853a0eb3c6e91360afe5b28ff47 Mon Sep 17 00:00:00 2001 From: Damian Gryski Date: Fri, 2 May 2025 13:40:18 -0700 Subject: [PATCH] runtime: stub runtime signal functions for os/signal on wasip1 --- src/runtime/runtime_wasip1.go | 17 +++++++++++++++++ src/runtime/runtime_wasip2.go | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/src/runtime/runtime_wasip1.go b/src/runtime/runtime_wasip1.go index d680fad17..840888043 100644 --- a/src/runtime/runtime_wasip1.go +++ b/src/runtime/runtime_wasip1.go @@ -149,3 +149,20 @@ type ( } } ) + +// Need to stub these for `os/signal`, but wasi doesn't support signals. + +//go:linkname signal_disable os/signal.signal_disable +func signal_disable(uint32) {} + +//go:linkname signal_enable os/signal.signal_enable +func signal_enable(uint32) {} + +//go:linkname signal_ignore os/signal.signal_ignore +func signal_ignore(uint32) {} + +//go:linkname signal_ignored os/signal.signal_ignored +func signal_ignored(uint32) bool { return false } + +//go:linkname signal_recv os/signal.signal_recv +func signal_recv() uint32 { return ^uint32(0) } diff --git a/src/runtime/runtime_wasip2.go b/src/runtime/runtime_wasip2.go index 46ce3d853..6d1bbc13f 100644 --- a/src/runtime/runtime_wasip2.go +++ b/src/runtime/runtime_wasip2.go @@ -50,3 +50,20 @@ func sleepTicks(d timeUnit) { func ticks() timeUnit { return timeUnit(monotonicclock.Now()) } + +// Need to stub these for `os/signal`, but wasi doesn't support signals. + +//go:linkname signal_disable os/signal.signal_disable +func signal_disable(uint32) {} + +//go:linkname signal_enable os/signal.signal_enable +func signal_enable(uint32) {} + +//go:linkname signal_ignore os/signal.signal_ignore +func signal_ignore(uint32) {} + +//go:linkname signal_ignored os/signal.signal_ignored +func signal_ignored(uint32) bool { return false } + +//go:linkname signal_recv os/signal.signal_recv +func signal_recv() uint32 { return ^uint32(0) }