
    ^h                    b    S r SSKJr  SSKrSSKJr  SSKrSSKJr  SSK	J
r
Jr   " S S	\5      rg)
zA thread for a shell channel.    )annotationsN)Any   )SubshellManager)SHELL_CHANNEL_THREAD_NAME
BaseThreadc                  \   ^  \ rS rSrSr    SU 4S jjr\SS j5       rS	U 4S jjrSr	U =r
$ )
ShellChannelThread   ziA thread for a shell channel.

Communicates with shell/subshell threads via pairs of ZMQ inproc sockets.
c                   > [         TU ]  " SS[        0UD6  SU l        Xl        X l        [        R                  " 5       U l        g)zInitialize the thread.nameN )	super__init__r   _manager_context_shell_socketasyncioLockasyncio_lock)selfcontextshell_socketkwargs	__class__s       P/home/james-whalen/.local/lib/python3.13/site-packages/ipykernel/shellchannel.pyr   ShellChannelThread.__init__   s;     	B7B6B04)#LLN    c                    U R                   c0  [        U R                  U R                  U R                  5      U l         U R                   $ )N)r   r   r   io_loopr   )r   s    r   managerShellChannelThread.manager"   s=     == +""DM
 }}r   c                   >  [         TU ]  5         U R                  (       a  U R                  R                  5         gg! U R                  (       a  U R                  R                  5         f f = f)zRun the thread.N)r   runr   close)r   r   s    r   r$   ShellChannelThread.run-   sJ    	&GKM}}##% t}}##% s	   > .A,)r   r   r   r   )r   zzmq.Context[Any]r   zzmq.Socket[Any])returnr   )r'   None)__name__
__module____qualname____firstlineno____doc__r   propertyr!   r$   __static_attributes____classcell__)r   s   @r   r
   r
      s=    
+!+ &+  & &r   r
   )r-   
__future__r   r   typingr   zmqsubshell_managerr   threadr   r   r
   r   r   r   <module>r6      s&    # "   
 - 9%& %&r   