aboutsummaryrefslogtreecommitdiff
path: root/gdb/fbsd-nat.c
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2022-02-22 11:22:14 -0800
committerJohn Baldwin <jhb@FreeBSD.org>2022-02-22 11:22:14 -0800
commitd0bbe64c5a3f9608ae5987f1267de7a734ee8151 (patch)
tree0960d288fdfed3bcd112876bed7889028b1fa41d /gdb/fbsd-nat.c
parent1188bfcfa981fd0f5007d667f9caefc24b8c7718 (diff)
downloadfsf-binutils-gdb-d0bbe64c5a3f9608ae5987f1267de7a734ee8151.zip
fsf-binutils-gdb-d0bbe64c5a3f9608ae5987f1267de7a734ee8151.tar.gz
fsf-binutils-gdb-d0bbe64c5a3f9608ae5987f1267de7a734ee8151.tar.bz2
fbsd-nat: Return nullptr rather than failing ::thread_name.
ptrace on FreeBSD cannot be used against running processes and instead fails with EBUSY. This meant that 'info threads' would fail if any of the threads were running (for example when using schedule-multiple=on in gdb.base/fork-running-state.exp). Instead of throwing errors, just return nullptr as no thread name is better than causing info threads to fail completely.
Diffstat (limited to 'gdb/fbsd-nat.c')
-rw-r--r--gdb/fbsd-nat.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gdb/fbsd-nat.c b/gdb/fbsd-nat.c
index 89c9ae6..cea3ce7 100644
--- a/gdb/fbsd-nat.c
+++ b/gdb/fbsd-nat.c
@@ -819,9 +819,9 @@ fbsd_nat_target::thread_name (struct thread_info *thr)
if a name has not been set explicitly. Return a NULL name in
that case. */
if (!fbsd_fetch_kinfo_proc (pid, &kp))
- perror_with_name (_("Failed to fetch process information"));
+ return nullptr;
if (ptrace (PT_LWPINFO, lwp, (caddr_t) &pl, sizeof pl) == -1)
- perror_with_name (("ptrace (PT_LWPINFO)"));
+ return nullptr;
if (strcmp (kp.ki_comm, pl.pl_tdname) == 0)
return NULL;
xsnprintf (buf, sizeof buf, "%s", pl.pl_tdname);