
    yh.                     :    S r SSKJr  SSKJr  Sr " S S\5      rg)A thread for a control channel.    )Thread)IOLoopControlc                   *    \ rS rSrSrS rS rS rSrg)ControlThread	   r   c                 v    [         R                  " U 4S[        0UD6  [        SS9U l        SU l        SU l        g)zInitialize the thread.nameF)make_currentTN)r   __init__CONTROL_THREAD_NAMEr   io_looppydev_do_not_traceis_pydev_daemon_thread)selfkwargss     ic:\Users\julio\OneDrive\Documentos\Trabajo\IdeasFrscas\Cabanna\env\Lib\site-packages\ipykernel/control.pyr   ControlThread.__init__   s5    A#6A&A51"&&*#    c                     [         U l         U R                  R                  5         U R                  R	                  5         g! U R                  R	                  5         f = f)zRun the thread.N)r   r   r   startcloser   s    r   runControlThread.run   s?    '		!LL LL DLL s   A Ac                 b    U R                   R                  U R                   R                  5        g)z-Stop the thread.

This method is threadsafe.
N)r   add_callbackstopr   s    r   r   ControlThread.stop   s     
 	!!$,,"3"34r   )r   r   r   r   N)	__name__
__module____qualname____firstlineno____doc__r   r   r   __static_attributes__ r   r   r   r   	   s    )+!5r   r   N)r%   	threadingr   tornado.ioloopr   r   r   r'   r   r   <module>r*      s     %  ! 5F 5r   