From: Bruno Haible Date: Tue, 28 Oct 2025 21:11:11 +0000 (+0100) Subject: posix_spawn_file_actions_addclose: Fix test failure on NetBSD 10.0. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a5d77f7623778c458758c2060ff458855f1f47cc;p=thirdparty%2Fgnulib.git posix_spawn_file_actions_addclose: Fix test failure on NetBSD 10.0. * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): Test also against the NetBSD bug. * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Document the NetBSD bug. --- diff --git a/ChangeLog b/ChangeLog index b4519b0e32..415568a156 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2025-10-28 Bruno Haible + + posix_spawn_file_actions_addclose: Fix test failure on NetBSD 10.0. + * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): Test + also against the NetBSD bug. + * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Document + the NetBSD bug. + 2025-10-27 Paul Eggert openat2: new module diff --git a/doc/posix-functions/posix_spawn_file_actions_addclose.texi b/doc/posix-functions/posix_spawn_file_actions_addclose.texi index f5dd407042..12ac6e9514 100644 --- a/doc/posix-functions/posix_spawn_file_actions_addclose.texi +++ b/doc/posix-functions/posix_spawn_file_actions_addclose.texi @@ -15,6 +15,9 @@ FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 9, @item This function does not reject a negative file descriptor on some platforms: musl libc. +@item +This function does not reject an out-of-range file descriptor on some platforms: +NetBSD. @end itemize Portability problems not fixed by Gnulib: diff --git a/m4/posix_spawn.m4 b/m4/posix_spawn.m4 index a170ced5a5..4c1f755f37 100644 --- a/m4/posix_spawn.m4 +++ b/m4/posix_spawn.m4 @@ -1,5 +1,5 @@ # posix_spawn.m4 -# serial 25 +# serial 26 dnl Copyright (C) 2008-2025 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -571,6 +571,8 @@ AC_DEFUN([gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE], else dnl On musl libc, posix_spawn_file_actions_addclose succeeds even if the fd dnl argument is negative. + dnl On NetBSD 10.0, posix_spawn_file_actions_addclose succeeds even if the + dnl fd argument is out of range. AC_CACHE_CHECK([whether posix_spawn_file_actions_addclose works], [gl_cv_func_posix_spawn_file_actions_addclose_works], [AC_RUN_IFELSE( @@ -583,13 +585,16 @@ int main () return 1; if (posix_spawn_file_actions_addclose (&actions, -5) == 0) return 2; + if (posix_spawn_file_actions_addclose (&actions, 10000000) == 0) + return 3; return 0; }]])], [gl_cv_func_posix_spawn_file_actions_addclose_works=yes], [gl_cv_func_posix_spawn_file_actions_addclose_works=no], - [# Guess no on musl libc and Solaris, yes otherwise. + [# Guess no on musl libc and NetBSD and Solaris, yes otherwise. case "$host_os" in *-musl* | midipix*) gl_cv_func_posix_spawn_file_actions_addclose_works="guessing no" ;; + netbsd*) gl_cv_func_posix_spawn_file_actions_addclose_works="guessing no" ;; solaris*) gl_cv_func_posix_spawn_file_actions_addclose_works="guessing no" ;; # Guess no on native Windows. mingw* | windows*) gl_cv_func_posix_spawn_file_actions_addclose_works="guessing no" ;;