HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib64/python3.6/site-packages/zmq/green/__pycache__/poll.cpython-36.opt-1.pyc
3

VS�_v�@s<ddlZddlZddlmZddlmZGdd�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�?c
Cs�g}g}g}x�|jD]�\}}t|tj�r>|j|jtj��qnNt|t�rN|}n>t|d�r�yt|j	��}Wq�t
d��Yq�Xntd|��|tj@r�|j|�|tj
@r�|j|�|tj@r|j|�qW|||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�appendZ
getsockoptZFD�int�hasattrr�
ValueError�	TypeErrorZPOLLINZPOLLOUTZPOLLERR)�self�rlist�wlist�xlistZsocket�flags�fd�r�/usr/lib64/python3.6/poll.py�_get_descriptorss.






z_Poller._get_descriptors�c	"s*|dkrd}|dkrd}d}d}d}|dkr>tjj|d�}nd}z�y�|j�\}}}x�tt|�jd�}|sr|dkrv|Stjj|j�}zFytj|||�Wn.tjk
r�}z||k	r��WYdd}~XnXWd|j	�XqVWWn0tjk
�r}z||k	�r��gSd}~XnXWd|dk�r$|j	�XdS)z�Overridden method to ensure that the green version of
        Poller is used.

        Behaves the same as :meth:`zmq.core.Poller.poll`
        Nrrg@�@���r)
�geventZTimeout�	start_newr�superr�poll�_gevent_bug_timeoutrZcancel)	r
ZtimeoutrrrZtoutZeventsZ_bug_timeout�t)�	__class__rrr0s:

z_Poller.pollr)r)�__name__�
__module__�__qualname__�__doc__rrr�
__classcell__rr)rrrs r)rrrrZ_original_Pollerrrrrr�<module>s