HEX
Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/8.4.25
System: Windows NT DESKTOP-4TAV2RJ 10.0 build 19045 (Windows 10) AMD64
User: fred (0)
PHP: 8.4.25
Disabled: NONE
Upload Files
File: C:/Python311/Lib/site-packages/ipykernel/control.py
"""A thread for a control channel."""
from threading import Thread

from tornado.ioloop import IOLoop

CONTROL_THREAD_NAME = "Control"


class ControlThread(Thread):
    """A thread for a control channel."""

    def __init__(self, **kwargs):
        """Initialize the thread."""
        Thread.__init__(self, name=CONTROL_THREAD_NAME, **kwargs)
        self.io_loop = IOLoop(make_current=False)
        self.pydev_do_not_trace = True
        self.is_pydev_daemon_thread = True

    def run(self):
        """Run the thread."""
        self.name = CONTROL_THREAD_NAME
        try:
            self.io_loop.start()
        finally:
            self.io_loop.close()

    def stop(self):
        """Stop the thread.

        This method is threadsafe.
        """
        self.io_loop.add_callback(self.io_loop.stop)