HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/zmq/green/__pycache__/poll.cpython-310.pyc
o

�N�g��@s<ddlZddlmZddlZddlmZGdd�de�ZdS)�N)�select)�Pollercs.eZdZdZdZdd�Zd�fdd�	Z�ZS)	�_Pollerz�Replacement for :class:`zmq.Poller`

    Ensures that the greened Poller below is used in calls to
    :meth:`zmq.Poller.poll`.
    gH�z�G�?cCs�g}g}g}|jD]U\}}t|tj�r|�|�tj��q	t|t�r%|}nt|d�r:zt|�	��}Wn
t
d��td|��|tj@rJ|�|�|tj
@rT|�|�|tj@r^|�|�q	|||fS)zdReturns three elements tuple with socket descriptors ready
        for gevent.select.select
        �filenoz(fileno() must return an valid integer fdzHSocket must be a 0MQ socket, an integer fd or have a fileno() method: %r)Zsockets�
isinstance�zmqZSocket�append�
getsockoptZFD�int�hasattrr�
ValueError�	TypeError�POLLIN�POLLOUT�POLLERR)�self�rlist�wlist�xlist�socket�flags�fd�r�B/opt/saltstack/salt/lib/python3.10/site-packages/zmq/green/poll.py�_get_descriptorss6

��





�
z_Poller._get_descriptors���c	
sP|durd}|dkrd}d}d}d}|dkrtj�|d�}nd}z|zW|��\}}}	t��d�}|s7|dkrD|WW|dkrC|��SStj�|j�}z(z	t�|||�Wntjym}z||urc�WYd}~nd}~wwW|��n|��wq+tjy�}z||ur��gWYd}~W|dkr�|��SSd}~ww|dkr�|��ww)z�Overridden method to ensure that the green version of
        Poller is used.

        Behaves the same as :meth:`zmq.core.Poller.poll`
        Nrrg@�@)	�geventZTimeout�	start_newr�super�poll�cancel�_gevent_bug_timeoutr)	r�timeoutrrrZtout�eventsZ_bug_timeout�t��	__class__rrr3sV
�������
���
�z_Poller.poll)r)�__name__�
__module__�__qualname__�__doc__r!rr�
__classcell__rrr%rrs
"r)rrrrZ_original_Pollerrrrrr�<module>s