
    Yh1                         S r SSKrSrSrSqS rS rS r\R                  " \5        \R                  " \5      r\R                  " \5      r\R                  5         \
" S5        \R                  5         g)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                  v    [        S/U Q76   [        (       a  Sq[        R                  5         [        S/U Q76   g )NTRACEFz	LEAVE TRACE)printswitch_to_g2g2switch)argss    Z/var/www/html/env/lib/python3.13/site-packages/greenlet/tests/fail_switch_two_greenlets.py	tracefuncr      s/    	'D|
			/!D!    c                      [        S5        Sq[        R                  " 5       R                  R                  5         [        S5        [        S5        g )Nz	In g1_runTzReturn to g1_runzFalling off end of g1_run)r   r   greenlet
getcurrentparentr    r   r
   g1_runr      s<    	+L  '')	
	
%&r   c                  B    [         R                  5         [        S5        g )NzFalling off end of g2)g1r   r   r   r   r
   g2_runr      s    IIK	
!"r   zFalling off end of main)__doc__r   r   r   r   r   r   r   settracer   r   r   r   r
   <module>r      sx    		"'# 	  ) vv 		    		r   