]> git.ipfire.org Git - thirdparty/gnulib.git/commitdiff
posix_spawn_file_actions_addclose: Ignore test failure on NetBSD 10.0.
authorBruno Haible <bruno@clisp.org>
Fri, 31 Oct 2025 22:54:37 +0000 (23:54 +0100)
committerBruno Haible <bruno@clisp.org>
Fri, 31 Oct 2025 22:54:37 +0000 (23:54 +0100)
Based on comments by Collin Funk and Grisha Levit.

* m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): Revert
last change.
* tests/test-posix_spawn_file_actions_addclose.c (main): Treat NetBSD
like musl and Cygwin.
* doc/posix-functions/posix_spawn_file_actions_addclose.texi: Document
the large fd bug as "not fixed".

ChangeLog
doc/posix-functions/posix_spawn_file_actions_addclose.texi
m4/posix_spawn.m4
tests/test-posix_spawn_file_actions_addclose.c

index ed88885d7d0d14263e75aa2068501f2c065e38b1..055b124247f298552081677326f3e80c14617aae 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2025-10-31  Bruno Haible  <bruno@clisp.org>
+
+       posix_spawn_file_actions_addclose: Ignore test failure on NetBSD 10.0.
+       Based on comments by Collin Funk and Grisha Levit.
+       * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): Revert
+       last change.
+       * tests/test-posix_spawn_file_actions_addclose.c (main): Treat NetBSD
+       like musl and Cygwin.
+       * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Document
+       the large fd bug as "not fixed".
+
 2025-10-31  Bruno Haible  <bruno@clisp.org>
 
        nstrftime, fprintftime: Return -1, not 0, in case of failure.
index 12ac6e951462a9e1e9e31f911393f857c45e3395..80c20b86814f0eb64b812075b2db1073d5dfccfc 100644 (file)
@@ -15,11 +15,12 @@ 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:
 @itemize
+@item
+This function does not reject an out-of-range file descriptor on some platforms:
+@c https://austingroupbugs.net/view.php?id=418
+musl libc, NetBSD, Cygwin.
 @end itemize
index 4c1f755f3720d00a2220ee0c06bfa9a343acb384..8b9d6d6d674207878495e8c18e982c89b67aa0cd 100644 (file)
@@ -1,5 +1,5 @@
 # posix_spawn.m4
-# serial 26
+# serial 27
 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,8 +571,6 @@ 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(
@@ -585,16 +583,13 @@ 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 NetBSD and Solaris, yes otherwise.
+         [# Guess no on musl libc 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" ;;
index 359503c4afac53bf9758f782c9584a3ca400acb7..dd88c4eecc4eae6a25241c221c8214c992afaf59 100644 (file)
@@ -54,9 +54,10 @@ main (void)
     errno = 0;
     ASSERT (posix_spawn_file_actions_addclose (&actions, -1) == EBADF);
   }
-  /* This behaviour is not mandated by POSIX, but happens to pass on all
-     platforms except musl libc and Cygwin.  */
-#if !(defined MUSL_LIBC || defined __CYGWIN__)
+  /* This behaviour is not mandated by POSIX, following
+     <https://austingroupbugs.net/view.php?id=418>,
+     but happens to pass on all platforms except musl libc, NetBSD, Cygwin.  */
+#if !(defined MUSL_LIBC || defined __NetBSD__ || defined __CYGWIN__)
   {
     int bad_fd = big_fd ();
     errno = 0;