
    +h                        d Z ddlZdZdZdZ ej
                         Zg Zd Zd Z	 G d dej                        Z
 G d dej                        Z G d	 d
ej                        Z e
e      Z ee      Z ee	e      Zej                         Zej                  def       ej                          ej                  dej                   dej                   dej                   f       ej                   sJ ej                   sJ ej                   rJ ej                         Zej                  def       ej                   sJ  ede       y)z<
Testing initialstub throwing an already started exception.
    Nc                  2    t         j                  d| f       y )NzBegin A)resultsappend)argss    b/var/www/html/venv/lib/python3.12/site-packages/greenlet/tests/fail_initialstub_already_started.pya_runr      s    NNIt$%    c                      t         j                  d       t        j                  d       t         j                  d       y )NzBegin CzFrom CzC done)r   r   bswitch r	   r   c_runr      s&    NN9HHXNN8r	   c                       e Zd Zy)AN__name__
__module____qualname__r   r	   r   r   r      s    r	   r   c                       e Zd ZdZd Zd Zy)BFc                    |dk(  r| j                   st        j                         t        u sJ d| _         t        j                  dt        t        j                               j                  z          t        j                          t        j                  dt        t        j                               j                  z          |dk(  rd}t        j                  | |      S )NrunTz'Switch to b from B.__getattribute__ in z%B.__getattribute__ back from main in _B_run)doing_itgreenlet
getcurrentcr   r   typer   r   r   object__getattribute__)selfnames     r   r    zB.__getattribute__    s    5=&&(A--- DMNND!("5"5"78AAB CHHJNNB!("5"5"78AAB C5=D&&tT22r	   c                     t         j                  d|f       t         j                  d       t        j                  d       y )NzBegin Bz_B_run switching to mainzFrom B)r   r   mainr   )r!   args     r   r   zB._B_run-   s,    	3'(12Hr	   N)r   r   r   r   r    r   r   r	   r   r   r      s    H3r	   r   c                       e Zd Zy)CNr   r   r	   r   r'   r'   2   s    r	   r'   )parentzmain from czA dead?zB dead?zC dead?zmain from c.2zRESULTS:)__doc__r   ar   r   r   r$   r   r   r   r   r   r'   r   resultr   deadprintr   r	   r   <module>r.      s3   x &

 !   (	 	eHQKeQK 
 v& '
 
 	1669affiH I 	vvvvvv66 z	
 ( )vvv j' r	   