Add a show function for "maint show worker-threads"
authorTom Tromey <tom@tromey.com>
Sun, 29 Aug 2021 02:38:27 +0000 (20:38 -0600)
committerTom Tromey <tom@tromey.com>
Mon, 30 Aug 2021 13:37:46 +0000 (07:37 -0600)
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

index 4637fcbc86cdbfabbbc482019afbbffc5e670bda..cbd7d4ed47befe73fc220247ac5a8c2d3e837f01 100644 (file)
@@ -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 %zu).\n"),
+                     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);
+}
+
 \f
 /* 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);