#include "tests.h" | |
#include <fcntl.h> | |
#include <sys/syscall.h> | |
#if defined __NR_dup3 && defined O_CLOEXEC | |
# include <stdio.h> | |
# include <unistd.h> | |
int | |
main(void) | |
{ | |
const long int fd_old = (long int) 0xdeadbeefffffffff; | |
const long int fd_new = (long int) 0xdeadbeeffffffffe; | |
long rc = syscall(__NR_dup3, fd_old, fd_new, O_CLOEXEC); | |
printf("dup3(%d, %d, O_CLOEXEC) = %ld %s (%m)\n", | |
(int) fd_old, (int) fd_new, rc, errno2name()); | |
puts("+++ exited with 0 +++"); | |
return 0; | |
} | |
#else | |
SKIP_MAIN_UNDEFINED("__NR_dup3 && && O_CLOEXEC") | |
#endif |