o
    "f                     @   s  d Z ddlZdZdZdZe Zg Zdd Zdd Z	G dd dejZ
G d	d
 d
ejZG dd dejZe
eZeedZee	eZe Zedef e  edejdejdejf ejseJ ejsjJ ejroJ e Zedef ejsJ ede dS )z<
Testing initialstub throwing an already started exception.
    Nc                  G   s   t d| f d S )NzBegin A)resultsappend)args r   e/home/ubuntu/dev/venv/lib/python3.10/site-packages/greenlet/tests/fail_initialstub_already_started.pya_run   s   r   c                   C   s"   t d td t d d S )NzBegin CzFrom CzC done)r   r   bswitchr   r   r   r   c_run   s   

r
   c                   @      e Zd ZdS )AN__name__
__module____qualname__r   r   r   r   r      s    r   c                   @   s    e Zd ZdZdd Zdd ZdS )BFc                 C   st   |dkr.| j s.t tu sJ d| _ tdtt j  t	  tdtt j  |dkr4d}t
| |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namer   r   r   r       s   zB.__getattribute__c                 G   s&   t d|f t d td d S )NzBegin Bz_B_run switching to mainzFrom B)r   r   mainr	   )r   argr   r   r   r   -   s   
zB._B_runN)r   r   r   r   r   r   r   r   r   r   r      s    r   c                   @   r   )CNr   r   r   r   r   r   2   s    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   r   <module>   s4    





