HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/supervisor/__pycache__/socket_manager.cpython-36.opt-1.pyc
3

�k�`�@s6ddlZGdd�d�ZGdd�d�ZGdd�d�ZdS)�Nc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�Proxyz` Class for wrapping a shared resource object and getting
        notified when it's deleted
    cKs||_|jdd�|_dS)N�	on_delete)�object�getr)�selfr�kwargs�r�$/usr/lib/python3.6/socket_manager.py�__init__szProxy.__init__cCs|jr|j�dS)N)r)rrrr	�__del__sz
Proxy.__del__cCst|j|�S)N)�getattrr)r�namerrr	�__getattr__szProxy.__getattr__cCs|jS)N)r)rrrr	�_getsz
Proxy._getN)�__name__�
__module__�__qualname__�__doc__r
rrrrrrr	rs
rc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�ReferenceCounterz8 Class for tracking references to a shared resource
    cKs|d|_|d|_d|_dS)N�on_non_zero�on_zeror)rr�	ref_count)rrrrr	r
s

zReferenceCounter.__init__cCs|jS)N)r)rrrr	�	get_countszReferenceCounter.get_countcCs$|jdkr|j�|jd7_dS)Nr�)rr)rrrr	�	increment"s
zReferenceCounter.incrementcCs6|jdkrtd��|jd8_|jdkr2|j�dS)Nrz.Illegal operation: cannot decrement below zeror)r�	Exceptionr)rrrr	�	decrement's


zReferenceCounter.decrementN)rrrrr
rrrrrrr	rs
rc@sXeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�ZdS)�
SocketManagera Class for managing sockets in servers that create/bind/listen
        before forking multiple child processes to accept()
        Sockets are managed at the process group level and referenced counted
        at the process level b/c that's really the only place to hook in
    cKs6|jdd�|_d|_d|_||_t|j|jd�|_dS)N�loggerF)rr)	rr�socket�prepared�
socket_configr�_close�_prepare_socket�ref_ctr)rr!rrrr	r
5szSocketManager.__init__cCsd|jt|�|jjfS)Nz<%s at %s for %s>)�	__class__�idr!Zurl)rrrr	�__repr__>szSocketManager.__repr__cCs|jS)N)r!)rrrr	�configCszSocketManager.configcCs|jS)N)r )rrrr	�is_preparedFszSocketManager.is_preparedcCs$|jj�|j�t|j|jjd�S)N)r)r$r�_require_preparedrrr)rrrr	�
get_socketIs
zSocketManager.get_socketcCs|j�|jj�S)N)r*r$r)rrrr	�get_socket_ref_countNsz"SocketManager.get_socket_ref_countcCs|jstd��dS)NzSocket has not been prepared)r r)rrrr	r*RszSocketManager._require_preparedcCs`|js\|jr|jjd|j�|jj�|_|jj�rH|jj|jj��n|jjtj�d|_dS)NzCreating socket %sT)	r r�infor!Zcreate_and_bindrZget_backlogZlistenZ	SOMAXCONN)rrrr	r#Vs
zSocketManager._prepare_socketcCs4|j�|jr |jjd|j�|jj�d|_dS)NzClosing socket %sF)r*rr-r!r�closer )rrrr	r"as

zSocketManager._closeN)
rrrrr
r'r(r)r+r,r*r#r"rrrr	r.s	r)rrrrrrrr	�<module>s