
    [h                     V   d Z ddlZdZ ej                    Zg Z G d d          Z G d dej                  Zd Z e e                      Ze	                                Z
e                    de
f            ed	e
d
           e	                                  ede           dS )a  
If we have a run callable passed to the constructor or set as an
attribute, but we don't actually use that (because ``__getattribute__``
or the like interferes), then when we clear callable before beginning
to run, there's an opportunity for Python code to run.

    Nc                       e Zd Zd ZdS )RunCallablec                 n    t                               d           t                              d           d S )N)r   __del__zfrom RunCallable)resultsappendmainswitch)selfs    x/var/www/api.easyaligner.net/htdocs/venv_linux/lib/python3.11/site-packages/greenlet/tests/fail_clearing_run_switches.pyr   zRunCallable.__del__   s.    1222&'''''    N)__name__
__module____qualname__r    r   r   r   r      s#        ( ( ( ( (r   r   c                       e Zd Zd ZdS )Gc                     |dk    r!t                               d           t          S t                              | |          S )Nrun)zG.__getattribute__r   )r   r   run_funcobject__getattribute__)r   names     r   r   zG.__getattribute__   s9    5==NN8999O&&tT222r   N)r   r   r   r   r   r   r   r   r      s#        3 3 3 3 3r   r   c                  :    t                               d           d S )N)r   enter)r   r   r   r   r   r   r       s    NN()))))r   zmain: g.switch()zIn main withT)flushRESULTS)__doc__greenletg
getcurrentr	   r   r   r   r   r
   xr   printr   r   r   <module>r$      s    x
( ( ( ( ( ( ( (3 3 3 3 3 3 3 3* * * Akkmm
 HHJJ "A& ' ' ' nat $ $ $ $ 


 i     r   