When setting a signal handler via sigaction, if the SA_SIGINFO flag is specified, the callback's signature should be void callback(int signo, siginfo_t *info, void *context) instead of the usual void callback(int signo) (see: https://man7.org/linux/man-pages/man2/sigaction.2.html#DESCRIPTION). This is not respected by the current implementation, so when the signal is received, calling the callback function results in indirect call type mismatch.
Expected behaviour (correct): SA_SIGINFO should be respected. Note this requires the generation of the siginfo_t struct which holds data that may or may not be available to a wasm module.
Expected behaviour (quick-n-dirty or if otherwise impossible to implement the correct behaviour): An error should be reported from sigaction indicating that SA_SIGINFO is not available in wasm.
When setting a signal handler via
sigaction
, if theSA_SIGINFO
flag is specified, the callback's signature should bevoid callback(int signo, siginfo_t *info, void *context)
instead of the usualvoid callback(int signo)
(see: https://man7.org/linux/man-pages/man2/sigaction.2.html#DESCRIPTION). This is not respected by the current implementation, so when the signal is received, calling the callback function results inindirect call type mismatch
.Expected behaviour (correct):
SA_SIGINFO
should be respected. Note this requires the generation of thesiginfo_t
struct which holds data that may or may not be available to a wasm module.Expected behaviour (quick-n-dirty or if otherwise impossible to implement the correct behaviour): An error should be reported from
sigaction
indicating thatSA_SIGINFO
is not available in wasm.