serialhdl: name the threads per mcu

Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
This commit is contained in:
Timofey Titovets 2025-07-25 19:11:50 +02:00 committed by KevinOConnor
parent 73c6674306
commit 39d01158ba
2 changed files with 10 additions and 5 deletions

View File

@ -564,8 +564,8 @@ class MCU:
if self._name.startswith('mcu '): if self._name.startswith('mcu '):
self._name = self._name[4:] self._name = self._name[4:]
# Serial port # Serial port
wp = "mcu '%s': " % (self._name) name = self._name
self._serial = serialhdl.SerialReader(self._reactor, warn_prefix=wp) self._serial = serialhdl.SerialReader(self._reactor, mcu_name = name)
self._baud = 0 self._baud = 0
self._canbus_iface = None self._canbus_iface = None
canbus_uuid = config.get('canbus_uuid', None) canbus_uuid = config.get('canbus_uuid', None)

View File

@ -12,12 +12,15 @@ class error(Exception):
pass pass
class SerialReader: class SerialReader:
def __init__(self, reactor, warn_prefix=""): def __init__(self, reactor, mcu_name=""):
self.reactor = reactor self.reactor = reactor
self.warn_prefix = warn_prefix self.warn_prefix = ""
self.mcu_name = mcu_name
if self.mcu_name:
self.warn_prefix = "mcu '%s': " % (self.mcu_name)
# Serial port # Serial port
self.serial_dev = None self.serial_dev = None
self.msgparser = msgproto.MessageParser(warn_prefix=warn_prefix) self.msgparser = msgproto.MessageParser(warn_prefix=self.warn_prefix)
# C interface # C interface
self.ffi_main, self.ffi_lib = chelper.get_ffi() self.ffi_main, self.ffi_lib = chelper.get_ffi()
self.serialqueue = None self.serialqueue = None
@ -34,6 +37,8 @@ class SerialReader:
self.last_notify_id = 0 self.last_notify_id = 0
self.pending_notifications = {} self.pending_notifications = {}
def _bg_thread(self): def _bg_thread(self):
name_short = ("serialhdl %s" % (self.mcu_name))[:15]
self.ffi_lib.set_thread_name(name_short.encode('utf-8'))
response = self.ffi_main.new('struct pull_queue_message *') response = self.ffi_main.new('struct pull_queue_message *')
while 1: while 1:
self.ffi_lib.serialqueue_pull(self.serialqueue, response) self.ffi_lib.serialqueue_pull(self.serialqueue, response)