diff --git a/src/runtime/runtime_wasip1.go b/src/runtime/runtime_wasip1.go index 840888043..d680fad17 100644 --- a/src/runtime/runtime_wasip1.go +++ b/src/runtime/runtime_wasip1.go @@ -149,20 +149,3 @@ 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 6d1bbc13f..46ce3d853 100644 --- a/src/runtime/runtime_wasip2.go +++ b/src/runtime/runtime_wasip2.go @@ -50,20 +50,3 @@ 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) } diff --git a/src/runtime/signalstub.go b/src/runtime/signalstub.go new file mode 100644 index 000000000..fd7d2606a --- /dev/null +++ b/src/runtime/signalstub.go @@ -0,0 +1,21 @@ +//go:build tinygo.wasm || baremetal + +package runtime + +// Some platforms don't support Unix signals (and never will), so we need to +// stub the signal functions. + +//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_waitUntilIdle os/signal.signalWaitUntilIdle +func signal_waitUntilIdle() {} + +//go:linkname signal_recv os/signal.signal_recv +func signal_recv() uint32 { return ^uint32(0) }