
    g                     (   d Z ddlZddlZddlmZ  ed       d Zej                  d   Z	  e	ee      Z
 ede
d	
        e
        y# e$ rD eej                  k(  reZ
n/edk(  r) ej                  ej                        Zej                  Z
n Y [w xY w)z
Helper for testing a C++ exception throw aborts the process.

Takes one argument, the name of the function in :mod:`_test_extension_cpp` to call.
    N)_test_extension_cppzfail_cpp_exception is runningc                  T    d } t        j                   |       }|j                          y )Nc                  J    t        j                  t         j                         y )N)r   "test_exception_switch_and_do_in_g2test_exception_throw_nonstd     `/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/greenlet/tests/fail_cpp_exception.py_z5run_unhandled_exception_in_greenlet_aborts.<locals>._   s    >>;;	
r	   )greenletswitch)r   g1s     r
   *run_unhandled_exception_in_greenlet_abortsr      s"    
 
		1	BIIKr	      run_as_greenlet_targetraisingT)flush)__doc__sysr   greenlet.testsr   printr   argv	func_namegetattrfuncAttributeError__name__test_exception_throw_stdgr   r   r	   r
   <module>r       s   
   . % & HHQK		&	2D iT "   >GGG9	.	.H1JJKxxs   	A ABB