mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 19:34:08 +00:00 
			
		
		
		
	Issue #18571: Implementation of the PEP 446: file descriptors and file handles
are now created non-inheritable; add functions os.get/set_inheritable(), os.get/set_handle_inheritable() and socket.socket.get/set_inheritable().
This commit is contained in:
		
							parent
							
								
									46e1ce214b
								
							
						
					
					
						commit
						daf455554b
					
				
					 51 changed files with 1448 additions and 317 deletions
				
			
		| 
						 | 
				
			
			@ -365,7 +365,7 @@ def spawnv_passfds(path, args, passfds):
 | 
			
		|||
        if flag & fcntl.FD_CLOEXEC:
 | 
			
		||||
            fcntl.fcntl(fd, fcntl.F_SETFD, flag & ~fcntl.FD_CLOEXEC)
 | 
			
		||||
            tmp.append((fd, flag))
 | 
			
		||||
    errpipe_read, errpipe_write = _posixsubprocess.cloexec_pipe()
 | 
			
		||||
    errpipe_read, errpipe_write = os.pipe()
 | 
			
		||||
    try:
 | 
			
		||||
        return _posixsubprocess.fork_exec(
 | 
			
		||||
            args, [os.fsencode(path)], True, passfds, None, None,
 | 
			
		||||
| 
						 | 
				
			
			@ -381,7 +381,9 @@ def spawnv_passfds(path, args, passfds):
 | 
			
		|||
#
 | 
			
		||||
# Return pipe with CLOEXEC set on fds
 | 
			
		||||
#
 | 
			
		||||
# Deprecated: os.pipe() creates non-inheritable file descriptors
 | 
			
		||||
# since Python 3.4
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
def pipe():
 | 
			
		||||
    import _posixsubprocess
 | 
			
		||||
    return _posixsubprocess.cloexec_pipe()
 | 
			
		||||
    return os.pipe()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue