29 lines
560 B
C
29 lines
560 B
C
#include "tests.h"
|
|
#include <fcntl.h>
|
|
#include <asm/unistd.h>
|
|
|
|
#if defined __NR_dup3 && defined O_CLOEXEC
|
|
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
int
|
|
main(void)
|
|
{
|
|
const long int fd_old = (long int) 0xdeadbeefffffffffULL;
|
|
const long int fd_new = (long int) 0xdeadbeeffffffffeULL;
|
|
|
|
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
|