Hurd: In the CLI, use parse_thread_id instead of global_thread_id_to_ptid
authorSimon Marchi <simon.marchi@ericsson.com>
Thu, 8 Dec 2016 08:45:59 +0000 (09:45 +0100)
committerThomas Schwinge <thomas@codesourcery.com>
Thu, 8 Dec 2016 08:45:59 +0000 (09:45 +0100)
Follow-up to commit 14f6890677849172a4b13779acd9089c9baa3a81.
global_thread_id_to_ptid expects global thread numbers, which are nowadays only
used in MI, never presented to the user in the CLI.  Since this is a CLI
command, it should accept the inferior-qualified format instead.

gdb/
* gnu-nat.c (set_sig_thread_cmd): Use parse_thread_id instead of
global_thread_id_to_ptid.

gdb/ChangeLog
gdb/gnu-nat.c

index 171d03a23d6e7d571a3502e75696d40a46754e4f..2bd99f158e5053aa948f6e5f0510a77b88b67cfe 100644 (file)
@@ -1,3 +1,9 @@
+2016-12-08  Simon Marchi  <simon.marchi@ericsson.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gnu-nat.c (set_sig_thread_cmd): Use parse_thread_id instead of
+       global_thread_id_to_ptid.
+
 2016-12-08  Thomas Schwinge  <thomas@codesourcery.com>
 
        * config/i386/i386gnu.mh (%_S.o %_U.o): Add "-x c" to
index 5fd59a26fd8d740ec8e02e5cc019b5678817a497..124574e8ed6b9ff4a2d97435b809317d7d9b67f9 100644 (file)
@@ -63,6 +63,7 @@ extern "C"
 #include "gdbcore.h"
 #include "gdbthread.h"
 #include "gdb_obstack.h"
+#include "tid-parse.h"
 
 #include "gnu-nat.h"
 #include "inf-child.h"
@@ -2975,19 +2976,14 @@ set_sig_thread_cmd (char *args, int from_tty)
 
   if (!args || (!isdigit (*args) && strcmp (args, "none") != 0))
     error (_("Illegal argument to \"set signal-thread\" command.\n"
-          "Should be an integer thread ID, or `none'."));
+            "Should be a thread ID, or \"none\"."));
 
   if (strcmp (args, "none") == 0)
     inf->signal_thread = 0;
   else
     {
-      ptid_t ptid = global_thread_id_to_ptid (atoi (args));
-
-      if (ptid_equal (ptid, minus_one_ptid))
-       error (_("Thread ID %s not known.  "
-                "Use the \"info threads\" command to\n"
-              "see the IDs of currently known threads."), args);
-      inf->signal_thread = inf_tid_to_thread (inf, ptid_get_lwp (ptid));
+      struct thread_info *tp = parse_thread_id (args, NULL);
+      inf->signal_thread = inf_tid_to_thread (inf, ptid_get_lwp (tp->ptid));
     }
 }