403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /lib64/python3.9/site-packages/mercurial/thirdparty/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /lib64/python3.9/site-packages/mercurial/thirdparty/__pycache__/selectors2.cpython-39.pyc
a

�+�bVk�@sdZddlmZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZejZej
Z
z
e	jZWney�e	j	ZYn0dZdZdZd	Zd
Zgd�ZdZdZdae�ZeeejfZed
gd��ZGdd�de
�Z dd�Z!Gdd�de�Z"e#ed��rPGdd�de"�Z$e�%d�ej&�rPGdd�de�Z'Gdd�de$�Z(e�%d�e(Z$e#ed��rvGdd�de"�Z)e�%d�e#ed��r�Gd d!�d!e"�Z*e�%d!�e#ed"��r�Gd#d$�d$e"�Z+e�%d$�e#ed%��r�Gd&d'�d'e"�Z,e�%d'�d(d)�Z-ej.d*k�rd+d,�Z/nd-d,�Z/d.d/�Z0dS)0z. Back-ported, durable, and portable selectors �)�absolute_importN�)�pycompatzSeth Michael Larsonz sethmichaellarson@protonmail.comz2.0.0ZMITz3https://www.github.com/SethMichaelLarson/selectors2)�
EVENT_READ�EVENT_WRITE�SelectorKey�DefaultSelector�BaseSelector�r)�fileobj�fd�events�datac@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�_SelectorMappingz* Mapping of file objects to selector keys cCs
||_dS�N)�	_selector��self�selector�r�E/usr/lib64/python3.9/site-packages/mercurial/thirdparty/selectors2.py�__init__Fsz_SelectorMapping.__init__cCst|jj�Sr)�lenr�
_fd_to_key�rrrr�__len__Isz_SelectorMapping.__len__cCs@z|j�|�}|jj|WSty:td�|���Yn0dS�Nz{0!r} is not registered.)r�_fileobj_lookupr�KeyError�format)rrrrrr�__getitem__Ls
z_SelectorMapping.__getitem__cCst|jj�Sr)�iterrrrrrr�__iter__Ssz_SelectorMapping.__iter__N)�__name__�
__module__�__qualname__�__doc__rrr r"rrrrrCs
rc
Csbt|t�r|}n8zt|���}Wn&tttfyFtd�|���Yn0|dkr^td�|���|S)zl Return a file descriptor from a file object. If
    given an integer will simply return that integer back. zInvalid file object: {0!r}rzInvalid file descriptor: {0})�
isinstance�int�fileno�AttributeError�	TypeError�
ValueErrorr)rrrrr�_fileobj_to_fdWs
r-c@sveZdZdZdd�Zdd�Zddd�Zd	d
�Zddd�Zdd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)r	a/ Abstract Selector class

    A selector supports registering file objects to be monitored
    for specific I/O events.

    A file object is a file descriptor or any object with a
    `fileno()` method. An arbitrary object can be attached to the
    file object which can be used for example to store context info,
    a callback, etc.

    A selector can use various implementations (select(), poll(), epoll(),
    and kqueue()) depending on the platform. The 'DefaultSelector' class uses
    the most efficient implementation for the current platform.
    cCsi|_t|�|_dSr)rr�_maprrrrruszBaseSelector.__init__cCsLz
t|�WStyF|j��D]}|j|ur"|jYSq"�Yn0dS)aa Return a file descriptor from a file object.
        This wraps _fileobj_to_fd() to do an exhaustive
        search in case the object is invalid but we still
        have it in our map. Used by unregister() so we can
        unregister an object that was previously registered
        even if it is closed. It is also used by _SelectorMapping
        N)r-r,r�valuesrr�rr�keyrrrr|s

zBaseSelector._fileobj_lookupNcCsb|r|ttB@r td�|���t||�|�||�}|j|jvrRtd�||j���||j|j<|S)z8 Register a file object for a set of events to monitor. zInvalid events: {0!r}z${0!r} (FD {1}) is already registered)	rrr,rrrrrr�rrr
rr1rrr�register�s�zBaseSelector.registerc
Cs�z|j�|�|��}Wn�ty6td�|���Ynptjy�}zV|jtjkrV�n:|j�	�D] }|j
|ur`|j�|j�q�q`td�|���WYd}~n
d}~00|S)z0 Unregister a file object from being monitored. �{0!r} is not registeredN)r�poprrr�socket�error�errno�EBADFr/rr)rrr1�errrrr�
unregister�s
$zBaseSelector.unregistercCs�z|j|�|�}Wn ty4td�|���Yn0||jkrZ|�|�|�|||�}n"||jkr||j|d�}||j|j	<|S)z< Change a registered file object monitored events and data. r4)r)
rrrrr
r;r3r�_replacerr2rrr�modify�s


zBaseSelector.modifycCs
t��dS)zj Perform the actual selection until some monitored file objects
        are ready or the timeout expires. N)�NotImplementedError)r�timeoutrrr�select�szBaseSelector.selectcCs|j��d|_dS)zd Close the selector. This must be called to ensure that all
        underlying resources are freed. N)r�clearr.rrrr�close�s
zBaseSelector.closecCsH|��}|durtd��z
||WStyBtd�|���Yn0dS)z: Return the key associated with a registered file object. NzSelector is closedr4)�get_map�RuntimeErrorrr)rr�mappingrrr�get_key�s
zBaseSelector.get_keycCs|jS)z3 Return a mapping of file objects to selector keys )r.rrrrrC�szBaseSelector.get_mapcCs&z|j|WSty YdS0dS)z_ Return the key associated to a given file descriptor
         Return None if it is not found. N)rr)rrrrr�_key_from_fd�szBaseSelector._key_from_fdcCs|Srrrrrr�	__enter__�szBaseSelector.__enter__cGs|��dSr)rB)r�_rrr�__exit__�szBaseSelector.__exit__)N)N)N)r#r$r%r&rrr3r;r=r@rBrFrCrGrHrJrrrrr	fs



r	r@csNeZdZdZ�fdd�Zd
�fdd�	Z�fdd�Zdd	d
�Zddd�Z�Z	S)�SelectSelectorz Select-based selector. cs"tt|���t�|_t�|_dSr)�superrKr�set�_readers�_writersr��	__class__rrr�szSelectSelector.__init__NcsDtt|��|||�}|t@r*|j�|j�|t@r@|j�|j�|Sr)	rLrKr3rrN�addrrrOr2rPrrr3�szSelectSelector.registercs0tt|��|�}|j�|j�|j�|j�|Sr)rLrKr;rN�discardrrOr0rPrrr;�szSelectSelector.unregisterc	Cs�t|j�st|j�sgS|dur$dnt|d�}g}t|jd|j|j|�\}}}t|�}t|�}||BD]J}d}||vr~|tO}||vr�|tO}|�	|�}|rf|�
|||j@f�qf|S)N�Tr)rrNrO�max�_syscall_wrapper�_wrap_selectrMrrrG�appendr
)	rr?�ready�r�wrIrr
r1rrrr@s&�

zSelectSelector.selectcCst�||g|�S�z? Wrapper for select.select because timeout is a positional arg )r@�rrZr[r?rrrrWszSelectSelector._wrap_select)N)N)N)
r#r$r%r&rr3r;r@rW�
__classcell__rrrPrrK�s
rKc@s(eZdZdZdd�Zdd�Zdd�ZdS)	�_JythonSelectorMappingz� This is an implementation of _SelectorMapping that is built
            for use specifically with Jython, which does not provide a hashable
            value from socket.socket.fileno(). cCst|t�sJ�||_dSr)r'�JythonSelectSelectorrrrrrr(sz_JythonSelectorMapping.__init__cCst|jj�Sr)rr�_socketsrrrrr,sz_JythonSelectorMapping.__len__cCs4|jjD]\}}||ur|Sqtd�|���dSr)rrarr)rr�sockr1rrrr /s
z"_JythonSelectorMapping.__getitem__N)r#r$r%r&rrr rrrrr_#sr_cs<eZdZdZ�fdd�Zddd�Zdd�Zdd	d
�Z�ZS)
r`az This is an implementation of SelectSelector that is for Jython
            which works around that Jython's socket.socket.fileno() does not
            return an integer fd value. All SelectorKey.fd will be equal to -1
            and should not be used. This instead uses object id to compare fileobj
            and will only use select.select as it's the only selector that allows
            directly passing in socket objects rather than registering fds.
            See: http://bugs.jython.org/issue1678
                 https://wiki.python.org/jython/NewSocketModule#socket.fileno.28.29_does_not_return_an_integer
            cs>tt|���g|_t|�|_g|_g|_tt	dt	j	�|_
dS)NZcpython_compatible_select)rLr`rrar_r.rNrO�getattrr@�_select_funcrrPrrrAs
zJythonSelectSelector.__init__NcCsr|jD] \}}||urtd�||���qt|d||�}|j�||f�|t@rZ|j�|�|t@rn|j�|�|S)Nz{0!r} is already registered���)	rarrrrXrrNrrO)rrr
rrbrIr1rrrr3Ls�zJythonSelectSelector.registercCsjt|j�D]\}\}}||ur
q2q
td�|���|jt@rH|j�|�|jt@r^|j	�|�|j|=|Sr)
�	enumeraterarrr
rrN�removerrO)rr�irbr1rrrr;[s

zJythonSelectSelector.unregistercCs|�||g|�Sr\)rdr]rrrrWjsz!JythonSelectSelector._wrap_select)N)N)	r#r$r%r&rr3r;rWr^rrrPrr`6s


r`�pollcsNeZdZdZ�fdd�Zd
�fdd�	Z�fdd�Zdd	d
�Zddd�Z�Z	S)�PollSelectorz Poll-based selector cstt|���t��|_dSr)rLrjrr@ri�_pollrrPrrruszPollSelector.__init__NcsPtt|��|||�}d}|t@r*|tjO}|t@r<|tjO}|j�|j	|�|S�Nr)
rLrjr3rr@�POLLINr�POLLOUTrkr)rrr
rr1�
event_maskrPrrr3ys

zPollSelector.registercs"tt|��|�}|j�|j�|Sr)rLrjr;rkrr0rPrrr;�szPollSelector.unregistercCs4|dur$|dkrd}nt�|d�}|j�|�}|S�zj Wrapper function for select.poll.poll() so that
            _syscall_wrapper can work with only seconds. Nr��)�math�ceilrkri�rr?�resultrrr�
_wrap_poll�szPollSelector._wrap_pollcCstg}t|jd|d�}|D]V\}}d}|tj@r8|tO}|tj@rL|tO}|�|�}|r|�|||j	@f�q|S�NT)r?r�
rVrvr@rmrrnrrGrXr
�rr?rY�	fd_eventsrror
r1rrrr@�s
zPollSelector.select)N)N)N)
r#r$r%r&rr3r;rvr@r^rrrPrrjss

rj�epollcsXeZdZdZ�fdd�Zdd�Zd�fdd�	Z�fd	d
�Zddd�Z�fd
d�Z	�Z
S)�
EpollSelectorz Epoll-based selector cstt|���t��|_dSr)rLr|rr@r{�_epollrrPrrr�szEpollSelector.__init__cCs
|j��Sr)r}r)rrrrr)�szEpollSelector.filenoNcsTtt|��|||�}d}|t@r*|tjO}|t@r<|tjO}t|j	jd|j
|�|S)NrF)rLr|r3rr@�EPOLLINr�EPOLLOUTrVr}r)rrr
rr1Zevents_maskrPrrr3�s

zEpollSelector.registercs>tt|��|�}zt|jjd|j�Wnty8Yn0|S)NF)rLr|r;rVr}r�_ERROR_TYPESr0rPrrr;�szEpollSelector.unregisterc	Cs�|dur2|dkrd}nt�|d�d}t|�}nd}tt|j�d�}g}t|jjd||d�}|D]V\}}d}|t	j
@r�|tO}|t	j@r�|t
O}|�|�}|rb|�|||j@f�qb|S)	NrrTrqg����MbP?g�r
T)r?Z	maxevents)rrrs�floatrUrrrVr}rir@r~rrrrGrXr
)	rr?�
max_eventsrYrzrror
r1rrrr@�s,

�
zEpollSelector.selectcs|j��tt|���dSr)r}rBrLr|rrPrrrB�s
zEpollSelector.close)N)N�r#r$r%r&rr)r3r;r@rBr^rrrPrr|�s
	
!r|�devpollcsbeZdZdZ�fdd�Zdd�Zd�fdd�	Z�fd	d
�Zddd�Zdd
d�Z	�fdd�Z
�ZS)�DevpollSelectorzSolaris /dev/poll selector.cstt|���t��|_dSr)rLr�rr@r��_devpollrrPrrr�szDevpollSelector.__init__cCs
|j��Sr)r�r)rrrrr)�szDevpollSelector.filenoNcsPtt|��|||�}d}|t@r*|tjO}|t@r<|tjO}|j�|j	|�|Srl)
rLr�r3rr@rmrrnr�r)rrr
rr1Zpoll_eventsrPrrr3�s

zDevpollSelector.registercs"tt|��|�}|j�|j�|Sr)rLr�r;r�rr0rPrrr;szDevpollSelector.unregistercCs4|dur$|dkrd}nt�|d�}|j�|�}|Srp)rrrsr�rirtrrrrvszDevpollSelector._wrap_pollcCstg}t|jd|d�}|D]V\}}d}|tj@r8|tO}|tj@rL|tO}|�|�}|r|�|||j	@f�q|Srwrxryrrrr@s
zDevpollSelector.selectcs|j��tt|���dSr)r�rBrLr�rrPrrrB%s
zDevpollSelector.close)N)N)N)r#r$r%r&rr)r3r;rvr@rBr^rrrPrr��s


r��kqueuecsXeZdZdZ�fdd�Zdd�Zd�fdd�	Z�fd	d
�Zddd�Z�fd
d�Z	�Z
S)�KqueueSelectorz  Kqueue / Kevent-based selector cstt|���t��|_dSr)rLr�rr@r��_kqueuerrPrrr/szKqueueSelector.__init__cCs
|j��Sr)r�r)rrrrr)3szKqueueSelector.filenoNcs|tt|��|||�}|t@rFt�|jtjtj�}t	|j
jd|gdd�|t@rxt�|jtj
tj�}t	|j
jd|gdd�|S�NFr)rLr�r3rr@�keventr�KQ_FILTER_READZ	KQ_EV_ADDrVr��controlr�KQ_FILTER_WRITE)rrr
rr1r�rPrrr36s��zKqueueSelector.registercs�tt|��|�}|jt@r\t�|jtjtj	�}zt
|jjd|gdd�Wnt
yZYn0|jt@r�t�|jtjtj	�}zt
|jjd|gdd�Wnt
y�Yn0|Sr�)rLr�r;r
rr@r�rr�ZKQ_EV_DELETErVr�r�r�rr�)rrr1r�rPrrr;Hs(
�
�zKqueueSelector.unregistercCs�|durt|d�}t|j�d}i}t|jjdd||�}|D]�}|j}|j}d}|tj	krb|t
O}|tjkrt|tO}|�
|�}	|	r<|	j|vr�|	||	j@f||	j<q<||	jd}
|	||
B|	j@f||	j<q<t|���S)NrrTr
)rUrrrVr�r��ident�filterr@r�rr�rrGrr
�listr/)rr?r�Z	ready_fdsZkevent_listr�rror
r1Z
old_eventsrrrr@]s,

�



zKqueueSelector.selectcs|j��tt|���dSr)r�rBrLr�rrPrrrBzs
zKqueueSelector.close)N)Nr�rrrPrr�-s
r�c	CsPz2|dkrt��}|�d�ntt|����WdSttfyJYdS0dS)a
 Checks that select structs can be allocated by the underlying
    operating system, not just advertised by the select module. We don't
    check select() because we'll be hopeful that most platforms that
    don't have it available will not advertise it. (ie: GAE) rirTFN)r@rircrB�OSErrorr*)�struct�prrr�
_can_allocate�sr�)��cOs||i|��S)zy This is the short-circuit version of the below logic
        because in Python 3.5+ all selectors restart system calls. r)�funcrI�args�kwargsrrrrV�srVc
OsN|�dd�}|durd}d}n t|�}|dkr4d}n
t�|}t|�}|rZd|vrZtd��t}|tu�rJz||i|��}Wq^tttj	f�yF}z�d}t
|d�r�|j}nt
|d�r�|jd}|tj
kp�t
td	�o�|tjk}	|	�r0|du�r$t�}
|
|k�rttjd
��|�r$d|v�r$||
|d<WYd}~q^�WYd}~q^d}~00q^|S)z� Wrapper function for syscalls that could fail due to EINTR.
        All functions should be retried if there is time left in the timeout
        in accordance with PEP 475. r?NFrTz4Timeout must be in args or kwargs to be recalculatedr8r�r�WSAEINTRzConnection timed out)�getr��	monotonicr�r,�_SYSCALL_SENTINELr��IOErrorr@r7�hasattrr8r�ZEINTRr�Z	ETIMEDOUT)r�Zrecalc_timeoutr�r�r?Zexpiresru�eZerrcodeZis_interruptZcurrent_timerrrrV�sJ
�



�


cCsjtdurdtjrtanPtd�r"tanBtd�r0tan4td�r>tan&td�rLtant	t
d�r\tantd��t�S)z� This function serves as a first call for DefaultSelector to
    detect if the select module is being monkey-patched incorrectly
    by eventlet, greenlet, and preserve proper behavior. Nr�r�r{rir@z"Platform does not have a selector.)
�_DEFAULT_SELECTORr�isjythonr`r�r�r�r|rjr�r@rKrDrrrrr�s
r)1r&Z
__future__r�collectionsr8rrr@r6�sys�time�r�
namedtuple�Mappingr�r*�
__author__Z	__email__�__version__Z__license__Z__url__�__all__rrr��objectr�r�r�r7r�rrr-r	r�rKrXr�r_r`rjr|r�r�r��version_inforVrrrrr�<module>sp
	0
8
3
A
;
Q

8

Youez - 2016 - github.com/yon3zu
LinuXploit