Thread names propagate to system
- the thread names should now show up in the monitoring tools of operating systems (tested on linux)
This commit is contained in:
parent
00a4558971
commit
4536e44b8c
|
@ -63,7 +63,7 @@ from network.downloadthread import DownloadThread
|
||||||
# Helper Functions
|
# Helper Functions
|
||||||
import helper_bootstrap
|
import helper_bootstrap
|
||||||
import helper_generic
|
import helper_generic
|
||||||
from helper_threading import *
|
import helper_threading
|
||||||
|
|
||||||
|
|
||||||
def connectToStream(streamNumber):
|
def connectToStream(streamNumber):
|
||||||
|
@ -153,7 +153,7 @@ def _fixSocket():
|
||||||
socket.IPV6_V6ONLY = 27
|
socket.IPV6_V6ONLY = 27
|
||||||
|
|
||||||
# This thread, of which there is only one, runs the API.
|
# This thread, of which there is only one, runs the API.
|
||||||
class singleAPI(threading.Thread, StoppableThread):
|
class singleAPI(threading.Thread, helper_threading.StoppableThread):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
threading.Thread.__init__(self, name="singleAPI")
|
threading.Thread.__init__(self, name="singleAPI")
|
||||||
self.initStop()
|
self.initStop()
|
||||||
|
@ -204,6 +204,8 @@ class Main:
|
||||||
|
|
||||||
self.setSignalHandler()
|
self.setSignalHandler()
|
||||||
|
|
||||||
|
helper_threading.set_thread_name("MainThread")
|
||||||
|
|
||||||
helper_bootstrap.knownNodes()
|
helper_bootstrap.knownNodes()
|
||||||
# Start the address generation thread
|
# Start the address generation thread
|
||||||
addressGeneratorThread = addressGenerator()
|
addressGeneratorThread = addressGenerator()
|
||||||
|
|
|
@ -1,4 +1,17 @@
|
||||||
import threading
|
import threading
|
||||||
|
try:
|
||||||
|
import prctl
|
||||||
|
def set_thread_name(name): prctl.set_name(name)
|
||||||
|
|
||||||
|
def _thread_name_hack(self):
|
||||||
|
set_thread_name(self.name)
|
||||||
|
threading.Thread.__bootstrap_original__(self)
|
||||||
|
|
||||||
|
threading.Thread.__bootstrap_original__ = threading.Thread._Thread__bootstrap
|
||||||
|
threading.Thread._Thread__bootstrap = _thread_name_hack
|
||||||
|
except ImportError:
|
||||||
|
log('WARN: prctl module is not installed. You will not be able to see thread names')
|
||||||
|
def set_thread_name(name): pass
|
||||||
|
|
||||||
class StoppableThread(object):
|
class StoppableThread(object):
|
||||||
def initStop(self):
|
def initStop(self):
|
||||||
|
@ -7,4 +20,4 @@ class StoppableThread(object):
|
||||||
|
|
||||||
def stopThread(self):
|
def stopThread(self):
|
||||||
self._stopped = True
|
self._stopped = True
|
||||||
self.stop.set()
|
self.stop.set()
|
||||||
|
|
Reference in New Issue
Block a user