[PATCH] Add a show function for "maint show worker-threads"

Tom Tromey tom@tromey.com
Sun Aug 29 20:16:09 GMT 2021


I wanted to see how many threads gdb thought it was using, but
"maint show worker-threads" only reported "unlimited".  This patch
adds a show function so that it will now report the number of threads
gdb has started.

Regression tested on x86-64 Fedora 34.
---
 gdb/maint.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/gdb/maint.c b/gdb/maint.c
index 4637fcbc86c..aa64bab7aaf 100644
--- a/gdb/maint.c
+++ b/gdb/maint.c
@@ -866,6 +866,21 @@ maintenance_set_worker_threads (const char *args, int from_tty,
   update_thread_pool_size ();
 }
 
+static void
+maintenance_show_worker_threads (struct ui_file *file, int from_tty,
+				 struct cmd_list_element *c,
+				 const char *value)
+{
+  if (n_worker_threads == -1)
+    fprintf_filtered (file, _("The number of worker threads GDB "
+			      "can use is unlimited (currently %d).\n"),
+		      (int) gdb::thread_pool::g_thread_pool->thread_count ());
+  else
+    fprintf_filtered (file, _("The number of worker threads GDB "
+			      "can use is %d.\n"),
+		      n_worker_threads);
+}
+
 
 /* If true, display time usage both at startup and for each command.  */
 
@@ -1371,7 +1386,8 @@ Set the number of worker threads GDB can use."), _("\
 Show the number of worker threads GDB can use."), _("\
 GDB may use multiple threads to speed up certain CPU-intensive operations,\n\
 such as demangling symbol names."),
-				       maintenance_set_worker_threads, NULL,
+				       maintenance_set_worker_threads,
+				       maintenance_show_worker_threads,
 				       &maintenance_set_cmdlist,
 				       &maintenance_show_cmdlist);
 
-- 
2.31.1



More information about the Gdb-patches mailing list