
    oi                     R    d Z ddlZddlmZ ddlZddlmZ ddlmZ  G d de      Z	y)	zA thread for a subshell.    N)Any   )
SocketPair)
BaseThreadc                   R     e Zd ZdZdedej                  e   f fdZd fdZ	 xZ
S )SubshellThreadz6A thread for a subshell.

    .. versionadded:: 7
    subshell_idcontextc                     t        |   ddd| i| t        ||      | _        t        ||dz         | _        d| _        t        j                         | _        y)zInitialize the thread.namez	subshell-z-reverseFN )	super__init__r   shell_channel_to_subshellsubshell_to_shell_channelabortingasyncioLockasyncio_lock)selfr	   r
   kwargs	__class__s       Z/home/ubuntu/docker-apps/notebooks/venv/lib/python3.12/site-packages/ipykernel/subshell.pyr   zSubshellThread.__init__   s[     	B	+7B6B)3G[)I&)3G[:=U)V& #LLN    c                     	 t         |           | j                  j                          | j                  j                          y# | j                  j                          | j                  j                          w xY w)zRun the thread.N)r   runr   closer   )r   r   s    r   r   zSubshellThread.run#   s]    	3GKM**002**002 **002**002s   A 6A<)returnN)__name__
__module____qualname____doc__strzmqContextr   r   r   __classcell__)r   s   @r   r   r      s2    
++ S!+"3 3r   r   )
r"   r   typingr   r$   socket_pairr   threadr   r   r   r   r   <module>r*      s#       
 # 3Z 3r   