projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
dup2: work around Haiku bug
[gnulib.git]
/
lib
/
dup2.c
diff --git
a/lib/dup2.c
b/lib/dup2.c
index
6b72f7b
..
e00dc7b
100644
(file)
--- a/
lib/dup2.c
+++ b/
lib/dup2.c
@@
-59,6
+59,10
@@
rpl_dup2 (int fd, int desired_fd)
errno = EBADF;
return -1;
}
+# elif !defined __linux__
+ /* On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC. */
+ if (fd == desired_fd)
+ return fcntl (fd, F_GETFL) == -1 ? -1 : fd;
# endif
result = dup2 (fd, desired_fd);
# ifdef __linux__