
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
ÝPf«  ã               @   s:   d dl mZmZmZmZ d	dd„Zd
dd„Zddd„ZdS )é   )Ú
HAS_SELECTÚDefaultSelectorÚ
EVENT_READÚEVENT_WRITENc                st   t stdƒ‚t| tƒs0t| dƒr(| g} nt| ƒ} tƒ �4}x| D ]}|j|ˆ ƒ q>W ‡ fdd„|j|ƒD ƒS Q R X dS )z³ Waits for IO events to be available from a list of sockets
    or optionally a single socket if passed in. Returns a list of
    sockets that can be interacted with immediately. z!Platform does not have a selectorÚfilenoc                s"   g | ]}|d  ˆ @ r|d j ‘qS )r   é    )Zfileobj)Ú.0Úkey)Úevents© ú/usr/lib/python3.6/wait.pyú
<listcomp>   s    z'_wait_for_io_events.<locals>.<listcomp>N)r   Ú
ValueErrorÚ
isinstanceÚlistÚhasattrr   ÚregisterZselect)Úsocksr
   ÚtimeoutZselectorZsockr   )r
   r   Ú_wait_for_io_events	   s    



r   c             C   s   t | t|ƒS )z« Waits for reading to be available from a list of sockets
    or optionally a single socket if passed in. Returns a list of
    sockets that can be read from immediately. )r   r   )r   r   r   r   r   Úwait_for_read   s    r   c             C   s   t | t|ƒS )z¬ Waits for writing to be available from a list of sockets
    or optionally a single socket if passed in. Returns a list of
    sockets that can be written to immediately. )r   r   )r   r   r   r   r   Úwait_for_write$   s    r   )N)N)N)Z	selectorsr   r   r   r   r   r   r   r   r   r   r   Ú<module>   s   

