B
    ÐH/\ß  ã               @   s    d dl mZ dd„ Zdd„ ZdS )é    )Úwrapsc                s.   dd l ‰ ˆ  ¡ j‰tˆƒ‡ ‡‡fdd„ƒ}|S )Nr   c          	      s,   t ˆ  ¡ _zˆ| f|ž|ŽS ˆˆ  ¡ _X d S )N)ÚobjectÚget_hubÚSYSTEM_ERROR)ÚselfÚargsÚkwargs)ÚgeventÚmethodÚsystem_error© ú:lib/python3.7/site-packages/gevent/testing/errorhandler.pyÚwrapper   s    
z!wrap_error_fatal.<locals>.wrapper)r	   r   r   r   )r
   r   r   )r	   r
   r   r   Úwrap_error_fatal   s    

r   c                s.   dd l ‰ ˆ  ¡ j‰tˆƒ‡ ‡‡fdd„ƒ}|S )Nr   c          	      sL   zˆ| f|ž|ŽS ˆˆ   ¡ _X |  ¡ d d k	rHˆ  ¡ j|  ¡ dd … Ž  d S )Nr   é   )r   Úhandle_errorZ
peek_errorZ
getcurrentÚthrow)r   r   r   )r	   r
   Úoldr   r   r   -   s
    z*wrap_restore_handle_error.<locals>.wrapper)r	   r   r   r   )r
   r   r   )r	   r
   r   r   Úwrap_restore_handle_error)   s    
r   N)Ú	functoolsr   r   r   r   r   r   r   Ú<module>   s   