Branch
Hash :
ed91d9b1
Author :
Date :
2025-03-12T18:55:26
dup3: Fix behavior for equal file descriptors on Haiku. * lib/dup3.c (dup3) [__HAIKU__]: Set errno to EINVAL and return -1 if both file descriptors are equal. * doc/posix-functions/dup3.texi: Document the Haiku bug.
@node dup3
@subsection @code{dup3}
@findex dup3
POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/functions/dup3.html}
Documentation:@* @uref{https://www.kernel.org/doc/man-pages/online/pages/man2/dup3.2.html,,man dup3}
Gnulib module: dup3
@mindex dup3
Portability problems fixed by Gnulib:
@itemize
@item
This function is missing on many non-glibc platforms:
glibc 2.8, macOS 14, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 11.3, Cygwin 1.7.1, mingw, MSVC 14, Android 4.4.
@item
This function can crash on some platforms:
Cygwin 1.7.25.
@item
This function mistakenly succeeds when given two equal file descriptors on some platforms:
@c https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=58266
@c https://dev.haiku-os.org/ticket/19476
NetBSD 10.0, Haiku.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@end itemize