
    ^h                     >    S r SSKJr  SSKJr  SrSr " S S\5      rg)	Base class for threads.    )Thread)IOLoopControlzShell channelc                   @   ^  \ rS rSrSrU 4S jrSS jrSS jrSrU =r	$ )
BaseThread   r   c                 ^   > [         TU ]  " S0 UD6  [        SS9U l        SU l        SU l        g)zInitialize the thread.F)make_currentTN )super__init__r   io_looppydev_do_not_traceis_pydev_daemon_thread)selfkwargs	__class__s     J/home/james-whalen/.local/lib/python3.13/site-packages/ipykernel/thread.pyr   BaseThread.__init__   s/    "6"51"&&*#    c                      U R                   R                  5         U R                   R                  5         g! U R                   R                  5         f = f)zRun the thread.N)r   startcloser   s    r   runBaseThread.run   s8    	!LL LL DLL s	   7 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    BaseThread.stop   s     
 	!!$,,"3"34r   )r   r   r   )returnN)
__name__
__module____qualname____firstlineno____doc__r   r   r    __static_attributes____classcell__)r   s   @r   r   r      s    !+!5 5r   r   N)r'   	threadingr   tornado.ioloopr   CONTROL_THREAD_NAMESHELL_CHANNEL_THREAD_NAMEr   r   r   r   <module>r.      s&      ! + 5 5r   