cpython/Lib/test/subprocessdata/fd_status.py
Gregory P. Smith 51ee270876 issue7213: Open the pipes used by subprocesses with the FD_CLOEXEC flag from
the C code, using pipe2() when available.  Adds unittests for close_fds and
cloexec behaviors.
2010-12-13 07:59:39 +00:00

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)))