29 lines
		
	
	
		
			557 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			557 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
 |