1
0
mirror of https://git.tukaani.org/xz.git synced 2025-11-14 04:04:33 +00:00

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.")
This commit is contained in:
Lasse Collin 2025-11-03 12:41:31 +02:00
parent cbf50a99e3
commit 211cde0923
No known key found for this signature in database
GPG Key ID: 38EE757D69184620

View File

@ -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>