Source code for faust.utils.platforms

"""Platform/OS utilities."""

import platform
import subprocess  # nosec: B404
from typing import Optional


[docs]def max_open_files() -> Optional[int]: """Return max number of open files, or :const:`None`.""" try: from resource import RLIM_INFINITY, RLIMIT_NOFILE, getrlimit except ImportError: return None else: _, hard_limit = getrlimit(RLIMIT_NOFILE) if hard_limit == RLIM_INFINITY: # macOS bash always returns infinity, even though there # is an actual system limit. if platform.system() == "Darwin": output = subprocess.check_output( # nosec [ "sysctl", "-q", "kern.maxfilesperproc", ] ) # $ sysctl -q kern.maxfilesperproc # kern.maxfilesperproc: 24576 _, _, svalue = output.decode().partition(":") return int(svalue.strip()) return None return hard_limit