[1/3] oe/utils: allow naming threads in ThreadedPool

Message ID 20211124171529.4107434-1-ross.burton@arm.com
State Accepted, archived
Commit 18342945b021608794d83ecf567afd43f4379b24
Headers show
Series [1/3] oe/utils: allow naming threads in ThreadedPool | expand

Commit Message

Ross Burton Nov. 24, 2021, 5:15 p.m. UTC
When looking at logs involving thread pools it is useful if the threads
can be named.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/lib/oe/utils.py | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

Patch

diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py
index cf65639647..7982b2b511 100644
--- a/meta/lib/oe/utils.py
+++ b/meta/lib/oe/utils.py
@@ -483,8 +483,8 @@  from threading import Thread
 
 class ThreadedWorker(Thread):
     """Thread executing tasks from a given tasks queue"""
-    def __init__(self, tasks, worker_init, worker_end):
-        Thread.__init__(self)
+    def __init__(self, tasks, worker_init, worker_end, name=None):
+        Thread.__init__(self, name=name)
         self.tasks = tasks
         self.daemon = True
 
@@ -515,13 +515,12 @@  class ThreadedWorker(Thread):
 
 class ThreadedPool:
     """Pool of threads consuming tasks from a queue"""
-    def __init__(self, num_workers, num_tasks, worker_init=None,
-            worker_end=None):
+    def __init__(self, num_workers, num_tasks, worker_init=None, worker_end=None, name="ThreadedPool-"):
         self.tasks = Queue(num_tasks)
         self.workers = []
 
-        for _ in range(num_workers):
-            worker = ThreadedWorker(self.tasks, worker_init, worker_end)
+        for i in range(num_workers):
+            worker = ThreadedWorker(self.tasks, worker_init, worker_end, name=name + str(i))
             self.workers.append(worker)
 
     def start(self):