mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	 51ee270876
			
		
	
	
		51ee270876
		
	
	
	
	
		
			
			the C code, using pipe2() when available. Adds unittests for close_fds and cloexec behaviors.
		
			
				
	
	
		
			24 lines
		
	
	
	
		
			549 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			549 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| """When called as a script, print a comma-separated list of the open
 | |
| file descriptors on stdout."""
 | |
| 
 | |
| import errno
 | |
| import os
 | |
| import fcntl
 | |
| 
 | |
| try:
 | |
|     _MAXFD = os.sysconf("SC_OPEN_MAX")
 | |
| except:
 | |
|     _MAXFD = 256
 | |
| 
 | |
| def isopen(fd):
 | |
|     """Return True if the fd is open, and False otherwise"""
 | |
|     try:
 | |
|         fcntl.fcntl(fd, fcntl.F_GETFD, 0)
 | |
|     except IOError as e:
 | |
|         if e.errno == errno.EBADF:
 | |
|             return False
 | |
|         raise
 | |
|     return True
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     print(','.join(str(fd) for fd in range(0, _MAXFD) if isopen(fd)))
 |