File: //proc/1233/cwd/lib/python3/dist-packages/apport/__pycache__/REThread.cpython-310.pyc
o
j�8d� � @ s* d Z ddlZddlZG dd� dej�ZdS )zIEnhanced Thread with support for return values and exception propagation.� Nc @ sD e Zd ZdZddddi fdd�Zdd� Zdd � Zd
d� Zdd
� ZdS )�REThreadz4Thread with return values and exception propagation.N� c C s8 t j�| |||||� || _|| _|| _d| _d| _dS )z<Initialize Thread, identical to threading.Thread.__init__().N)� threading�Thread�__init__�_REThread__target�_REThread__args�_REThread__kwargs�_retval�
_exception)�self�group�target�name�args�kwargsr r �1/usr/lib/python3/dist-packages/apport/REThread.pyr s
zREThread.__init__c C sH | j r"z| j | ji | j��| _W dS trt�� | _Y dS Y dS dS )z9Run target function, identical to threading.Thread.run().N)r r r r
�sys�exc_infor �r r r r �run s ��zREThread.runc C s | � � rJ �| jrJ �| jS )z�Return value from target function.
This can only be called after the thread has finished, i. e. when
is_alive() is False and did not terminate with an exception.
)�is_aliver r
r r r r �return_value&