Compare commits

...

2 commits

Author SHA1 Message Date
Yureka
ed51a172c6 libutil: fix conditional for close_range availability
This check is wrong and would cause the close_range() function being called even when it's not available

Change-Id: Ide65b36830e705fe772196c37349873353622761
(cherry picked from commit df49d37b71)
2024-08-20 09:09:57 +02:00
Artemis Tosini
ca2b514e20 meson: Don't use target_machine
The target_machine variable is meant for the target
of cross compilers. We are not a cross compiler, so
instead reuse our host_machine based checks.

Fixes Linux→FreeBSD cross, since Meson can't figure
out `target_machine.kernel()` in that case.

Fixes: https://git.lix.systems/lix-project/lix/issues/469

Change-Id: Ia46a64c8d507c3b08987a1de1eda171ff5e50df4
2024-08-16 23:56:57 -07:00
2 changed files with 2 additions and 2 deletions

View file

@ -417,7 +417,7 @@ check_funcs = [
'strsignal', 'strsignal',
'sysconf', 'sysconf',
] ]
if target_machine.kernel() in ['linux', 'freebsd'] if is_linux or is_freebsd
# musl does not have close_range as of 2024-08-10 # musl does not have close_range as of 2024-08-10
# patch: https://www.openwall.com/lists/musl/2024/08/01/9 # patch: https://www.openwall.com/lists/musl/2024/08/01/9
check_funcs += [ 'close_range' ] check_funcs += [ 'close_range' ]

View file

@ -228,7 +228,7 @@ void closeExtraFDs()
auto closeRange = [](unsigned int first, unsigned int last, int flags) -> int { auto closeRange = [](unsigned int first, unsigned int last, int flags) -> int {
// musl does not have close_range as of 2024-08-10 // musl does not have close_range as of 2024-08-10
// patch: https://www.openwall.com/lists/musl/2024/08/01/9 // patch: https://www.openwall.com/lists/musl/2024/08/01/9
#ifdef HAVE_CLOSE_RANGE #if HAVE_CLOSE_RANGE
return close_range(first, last, flags); return close_range(first, last, flags);
#else #else
return syscall(SYS_close_range, first, last, flags); return syscall(SYS_close_range, first, last, flags);