
    Ch	                     T    S r SSKrSSKrSSKrSSKrSSKrSSKrSSKr " S S5      rg)A trio loop runner.    Nc                   6    \ rS rSrSrS rS rS rS rS r	Sr
g	)

TrioRunner   r   c                      SU l         SU l        g)Initialize the runner.N)_cell_cancel_scope_trio_token)selfs    hC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\ipykernel/trio_runner.py__init__TrioRunner.__init__   s    "&    c                 .   UR                   R                  U 5        UR                   R                  SS5        S UR                   R                  R                  S   S'   SU l        [        R                  " UR                  SSS9nUR                  5         g	)
r   	autoawaittrioc                 ,    [         R                  " SSS9$ )Nz5Autoawait isn't allowed in Trio background loop mode.   )
stacklevel)warningswarn)_s    r   <lambda>'TrioRunner.initialize.<locals>.<lambda>   s    HMMCPQM
r   lineFTTornadoBackground)targetdaemonnameN)	shellset_trio_runnerrun_line_magicmagics_managermagics_interrupted	threadingThreadstart)r   kernelio_loop	bg_threads       r   
initializeTrioRunner.initialize   sw    $$T*##K8C
##**62;? "$$GMM$M`a	r   c                 t    U R                   (       a  U R                   R                  5         gSn[        U5      e)zInterrupt the runner.z)Kernel interrupted but no cell is runningN)r	   cancel	Exception)r   signumframemsgs       r   	interruptTrioRunner.interrupt   s,    ""##**,=CC. r   c                    ^ ^ [         R                   " [         R                  T R                  5      nS mUU 4S jn[        R                  " U5        [         R                   " [         R                  U5        g)zRun the loop.c                     SR                  [        R                  " [        U 5      X R                  5      5      n [
        R                  " SU 5        g )N
z2An exception occurred in a global nursery task.
%s)join	tracebackformat_exceptiontype__traceback__loggingerror)excs    r   log_nursery_exc'TrioRunner.run.<locals>.log_nursery_exc+   s7    ))I66tCy#GXGXYZCMMOQTUr   c                  N  >#    [         R                  R                  5       Tl        [         R                  " 5        ISh  vN n TU l        U [        l        [         R                  " 5       I Sh  vN   SSS5      ISh  vN   g ND N N	! , ISh  vN  (       d  f       g= f7f)zRun the main loop.N)	r   lowlevelcurrent_trio_tokenr
   open_nursery_add_excbuiltinsGLOBAL_NURSERYsleep_forever)nurseryrA   r   s    r   	trio_main!TrioRunner.run.<locals>.trio_main/   sn     #}}??AD((**g $3 *1'((*** +**
 + +***sY   =B% BB%+B/B0B4B%?B	 B%B	B%B"BB"B%N)signalSIGINTr4   r   run)r   old_sigrL   rA   s   `  @r   rP   TrioRunner.run'   sF    --t~~>	V	+ 	fmmW-r   c                 `   ^  U 4S jn[         R                  R                  X!T R                  S9$ )zHandle a function call.c                    >#    [         R                  " 5       Tl        TR                     U I Sh  vN sSSS5        $  N! , (       d  f       O= fSTl        g7f)zA thread runner context.N)r   CancelScoper	   )coror   s    r   loc TrioRunner.__call__.<locals>.loc?   sD     &*&6&6&8D#((!z )(! )(&*D#s)   'AA >A 
AA  
A
A)
trio_token)r   from_threadrP   r
   )r   async_fnrW   s   `  r   __call__TrioRunner.__call__<   s,    	 ##Cd>N>N#OOr   )r	   r%   r
   N)__name__
__module____qualname____firstlineno____doc__r   r,   r4   rP   r\   __static_attributes__ r   r   r   r      s     
	!.*Pr   r   )	rb   rH   r>   rN   r&   r:   r   r   r   rd   r   r   <module>re      s)           ;P ;Pr   