Lines Matching defs:fd
44 ms_windows_dup2 (int fd, int desired_fd)
48 /* If fd is closed, mingw hangs on dup2 (fd, fd). If fd is open,
49 dup2 (fd, fd) returns 0, but all further attempts to use fd in
51 if (fd == desired_fd)
53 if ((HANDLE) _get_osfhandle (fd) == INVALID_HANDLE_VALUE)
58 return fd;
71 result = dup2 (fd, desired_fd);
91 rpl_dup2 (int fd, int desired_fd)
96 /* On Linux kernels 2.6.26-2.6.29, dup2 (fd, fd) returns -EBADF.
98 On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC. */
99 if (fd == desired_fd)
100 return fcntl (fd, F_GETFL) == -1 ? -1 : fd;
103 result = dup2 (fd, desired_fd);
109 if (fd != desired_fd && result != -1)
110 result = _gl_register_dup (fd, result);
121 dupfd (int fd, int desired_fd)
123 int duplicated_fd = dup (fd);
128 int r = dupfd (fd, desired_fd);
138 dup2 (int fd, int desired_fd)
140 int result = fcntl (fd, F_GETFL) < 0 ? -1 : fd;
141 if (result == -1 || fd == desired_fd)
145 result = fcntl (fd, F_DUPFD, desired_fd);
148 result = _gl_register_dup (fd, result);
151 result = dupfd (fd, desired_fd);