HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib/python3/dist-packages/twisted/python/__pycache__/systemd.cpython-38.pyc
U


W[�@s:dZddlmZmZdgZddlmZGdd�de�ZdS)z�
Integration with systemd.

Currently only the minimum APIs necessary for using systemd's socket activation
feature are supported.
�)�division�absolute_import�	ListenFDs)�getpidc@s2eZdZdZdZdd�Zed
dd��Zdd	�ZdS)raf
    L{ListenFDs} provides access to file descriptors inherited from systemd.

    Typically L{ListenFDs.fromEnvironment} should be used to construct a new
    instance of L{ListenFDs}.

    @cvar _START: File descriptors inherited from systemd are always
        consecutively numbered, with a fixed lowest "starting" descriptor.  This
        gives the default starting descriptor.  Since this must agree with the
        value systemd is using, it typically should not be overridden.
    @type _START: C{int}

    @ivar _descriptors: A C{list} of C{int} giving the descriptors which were
        inherited.
    �cCs
||_dS)z
        @param descriptors: The descriptors which will be returned from calls to
            C{inheritedDescriptors}.
        N)�_descriptors)�self�descriptors�r
�8/usr/lib/python3/dist-packages/twisted/python/systemd.py�__init__%szListenFDs.__init__Nc	Cs�|dkrddlm}|dkr"|j}g}zt|d�}Wnttfk
rNYnPX|t�kr�zt|d�}Wnttfk
r�YnXt|||�}|d=|d=||�S)a�
        @param environ: A dictionary-like object to inspect to discover
            inherited descriptors.  By default, L{None}, indicating that the
            real process environment should be inspected.  The default is
            suitable for typical usage.

        @param start: An integer giving the lowest value of an inherited
            descriptor systemd will give us.  By default, L{None}, indicating
            the known correct (that is, in agreement with systemd) value will be
            used.  The default is suitable for typical usage.

        @return: A new instance of C{cls} which can be used to look up the
            descriptors which have been inherited.
        Nr)�environZ
LISTEN_PIDZ
LISTEN_FDS)�osr
�_START�int�KeyError�
ValueErrorr�range)�clsr
�startr	�pid�countr
r
r�fromEnvironment-s"
zListenFDs.fromEnvironmentcCs
t|j�S)z>
        @return: The configured list of descriptors.
        )�listr)rr
r
r�inheritedDescriptorsUszListenFDs.inheritedDescriptors)NN)	�__name__�
__module__�__qualname__�__doc__rr�classmethodrrr
r
r
rrs'N)	rZ
__future__rr�__all__rr�objectrr
r
r
r�<module>s