You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			33 lines
		
	
	
		
			814 B
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			33 lines
		
	
	
		
			814 B
		
	
	
	
		
			Python
		
	
"""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)
 |