Commit 211cde09 for xz
commit 211cde09236165dbd379644753337be1de64b151
Author: Lasse Collin <lasse.collin@tukaani.org>
Date: Mon Nov 3 12:41:31 2025 +0200
mythread.h: Fix the build on Emscripten when threading is disabled
To make a non-threaded liblzma-only build work with WASI SDK, <signal.h>
and mythread_sigmask() were omitted from mythread.h in the commit
81db3b889830. This broke non-threaded full build with Emscripten because
src/xz/signals.c needs mythread_sigmask() (liblzma-only build was fine).
If __wasm__ is defined, omit <signal.h> and mythread_sigmask() in
non-threaded builds only when __EMSCRIPTEN__ isn't defined.
Reported-by: Marcus Tillmanns
Thanks-to: ChanTsune
Fixes: https://github.com/tukaani-project/xz/issues/161
Fixes: 81db3b889830 ("mythread.h: Disable signal functions in builds targeting Wasm + WASI.")
diff --git a/src/common/mythread.h b/src/common/mythread.h
index 10ea2d42..bec69b44 100644
--- a/src/common/mythread.h
+++ b/src/common/mythread.h
@@ -78,7 +78,8 @@ do { \
} while (0)
-#if !(defined(_WIN32) && !defined(__CYGWIN__)) && !defined(__wasm__)
+#if !(defined(_WIN32) && !defined(__CYGWIN__)) \
+ && (!defined(__wasm__) || defined(__EMSCRIPTEN__))
// Use sigprocmask() to set the signal mask in single-threaded programs.
#include <signal.h>