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
 |