
    [h1                         d Z ddlZdZdZdad Zd Zd Z ej        e            ej        e          Z ej        e          Ze	                                  e
d           e	                                 dS )z
Uses a trace function to switch greenlets at unexpected times.

In the trace function, we switch from the current greenlet to another
greenlet, which switches
    NFc                  ~    t          dg| R   t          rdat                                           t          dg| R   d S )NTRACEFz	LEAVE TRACE)printswitch_to_g2g2switch)argss    w/var/www/api.easyaligner.net/htdocs/venv_linux/lib/python3.11/site-packages/greenlet/tests/fail_switch_two_greenlets.py	tracefuncr      sN    	'D 
			/!D!!!!!!    c                      t          d           dat          j                    j                                         t          d           t          d           d S )Nz	In g1_runTzReturn to g1_runzFalling off end of g1_run)r   r   greenlet
getcurrentparentr    r   r
   g1_runr      sW    	+L '')))	
	
%&&&&&r   c                  V    t                                            t          d           d S )NzFalling off end of g2)g1r   r   r   r   r
   g2_runr      s$    IIKKK	
!"""""r   zFalling off end of main)__doc__r   r   r   r   r   r   r   settracer   r   r   r   r
   <module>r      s     		" " "' ' '# # #  )   XvXv 		        		r   