summaryrefslogtreecommitdiff
blob: 083b2f9ec550cef38ff7b39e467406722c49d4ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
"""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)))