[PATCH] support kernels without __ARCH_WANT_SYSCALL_NO_FLAGS
Rich Felker
dalias at aerifal.cx
Thu Apr 26 15:00:39 UTC 2012
On Thu, Apr 26, 2012 at 10:18:11AM -0400, Mark Salter wrote:
> +#ifdef __NR_dup2
> _syscall2(int, dup2, int, oldfd, int, newfd)
> +#elif defined __NR_dup3
> +#include <fcntl.h>
> +
> +int
> +dup2 (int fd, int fd2)
> +{
> + /* For the degenerate case, check if the fd is valid (by trying to
> + get the file status flags) and return it, or else return EBADF. */
> + if (fd == fd2)
> + return __libc_fcntl(fd, F_GETFL, 0) < 0 ? -1 : fd;
Is there a reason this special case is necessary? Not questioning it,
I just want to know.
Rich
More information about the uClibc
mailing list