HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/self/root/lib/python3/dist-packages/apport/__pycache__/REThread.cpython-38.pyc
U

��8d��@s*dZddlZddlZGdd�dej�ZdS)zIEnhanced Thread with support for return values and exception propagation.�Nc@sDeZdZdZddddifdd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)�REThreadz4Thread with return values and exception propagation.N�cCs8tj�||||||�||_||_||_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�kwargsrr�1/usr/lib/python3/dist-packages/apport/REThread.pyrszREThread.__init__cCs<|jr8z|j|j|j�|_Wntr2t��|_YnXdS)z9Run target function, identical to threading.Thread.run().N)rrr	r
�sys�exc_infor�rrrr�runszREThread.runcCs|��rt�|jrt�|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.
        )Zis_alive�AssertionErrorrr
rrrr�return_value&s
zREThread.return_valuecCs|jS)zAReturn (type, value, traceback) of the exception caught in run().)rrrrrr0szREThread.exc_infocCs4|jr0tjdkr(|jd�|jd��ntd�dS)zbRaise the exception caught in the thread.

        Do nothing if no exception was caught.
        �3��z@raise self._exception[0], self._exception[1], self._exception[2]N)rr�version�with_traceback�execrrrr�	exc_raise5s
zREThread.exc_raise)	�__name__�
__module__�__qualname__�__doc__rrrrrrrrrrs


r)r#rrrrrrrr�<module>s