Reported by Kevin Cernekee in:
http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00125.html
* doc/posix-functions/dup2.texi (dup2): Document the bug.
* m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
+2015-02-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ dup2: doc and test for Android bug
+ Reported by Kevin Cernekee in:
+ http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00125.html
+ * doc/posix-functions/dup2.texi (dup2): Document the bug.
+ * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
+
2015-02-23 Kevin Cernekee <cernekee@google.com>
Replace dup2() on Android
This function crashes when invoked with valid arguments on some platforms:
Cygwin 1.7.25.
+@item
+This function fails with @code{EINVAL} when duplicating an fd to itself:
+Android.
+
@item
This function resets the @code{FD_CLOEXEC} flag when duplicating an fd
to itself on some platforms:
-#serial 23
+#serial 24
dnl Copyright (C) 2002, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
result |= 1;
#endif
- if (dup2 (1, 1) == 0)
+ if (dup2 (1, 1) != 1)
result |= 2;
#ifdef FD_CLOEXEC
if (fcntl (1, F_GETFD) != FD_CLOEXEC)