[Lldb-commits] [lldb] [debugserver] Move constants into TaskPortForProcessID (NFC) (PR #166670)
Jonas Devlieghere via lldb-commits
lldb-commits at lists.llvm.org
Wed Nov 5 16:02:54 PST 2025
https://github.com/JDevlieghere created https://github.com/llvm/llvm-project/pull/166670
I was looking at the calls to `usleep` in debugserver and noticed that these default arguments are never overwritten. I converted them to constants in the function, which makes it easier to reason about.
>From 25d08b40ac360b85eb80f6b334feee04576109d0 Mon Sep 17 00:00:00 2001
From: Jonas Devlieghere <jonas at devlieghere.com>
Date: Wed, 5 Nov 2025 16:01:05 -0800
Subject: [PATCH] [debugserver] Move constants into TaskPortForProcessID
I was looking at the calls to `usleep` in debugserver and noticed that
these default arguments are never overwritten. I converted them to
constants in the function, which makes it easier to reason about.
---
lldb/tools/debugserver/source/MacOSX/MachTask.h | 4 +---
lldb/tools/debugserver/source/MacOSX/MachTask.mm | 11 ++++++-----
2 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/lldb/tools/debugserver/source/MacOSX/MachTask.h b/lldb/tools/debugserver/source/MacOSX/MachTask.h
index c4a20b80fda95..915f65a8160ee 100644
--- a/lldb/tools/debugserver/source/MacOSX/MachTask.h
+++ b/lldb/tools/debugserver/source/MacOSX/MachTask.h
@@ -81,9 +81,7 @@ class MachTask {
void TaskPortChanged(task_t task);
task_t TaskPort() const { return m_task; }
task_t TaskPortForProcessID(DNBError &err, bool force = false);
- static task_t TaskPortForProcessID(pid_t pid, DNBError &err,
- uint32_t num_retries = 10,
- uint32_t usec_interval = 10000);
+ static task_t TaskPortForProcessID(pid_t pid, DNBError &err);
MachProcess *Process() { return m_process; }
const MachProcess *Process() const { return m_process; }
diff --git a/lldb/tools/debugserver/source/MacOSX/MachTask.mm b/lldb/tools/debugserver/source/MacOSX/MachTask.mm
index 21156feecba2c..e5bbab830b187 100644
--- a/lldb/tools/debugserver/source/MacOSX/MachTask.mm
+++ b/lldb/tools/debugserver/source/MacOSX/MachTask.mm
@@ -523,14 +523,15 @@ static void get_threads_profile_data(DNBProfileDataScanType scanType,
//----------------------------------------------------------------------
// MachTask::TaskPortForProcessID
//----------------------------------------------------------------------
-task_t MachTask::TaskPortForProcessID(pid_t pid, DNBError &err,
- uint32_t num_retries,
- uint32_t usec_interval) {
+task_t MachTask::TaskPortForProcessID(pid_t pid, DNBError &err) {
+ static constexpr uint32_t k_num_retries = 10;
+ static constexpr uint32_t k_usec_delay = 10000;
+
if (pid != INVALID_NUB_PROCESS) {
DNBError err;
mach_port_t task_self = mach_task_self();
task_t task = TASK_NULL;
- for (uint32_t i = 0; i < num_retries; i++) {
+ for (uint32_t i = 0; i < k_num_retries; i++) {
DNBLog("[LaunchAttach] (%d) about to task_for_pid(%d)", getpid(), pid);
err = ::task_for_pid(task_self, pid, &task);
@@ -557,7 +558,7 @@ static void get_threads_profile_data(DNBProfileDataScanType scanType,
}
// Sleep a bit and try again
- ::usleep(usec_interval);
+ ::usleep(k_usec_delay);
}
}
return TASK_NULL;
More information about the lldb-commits
mailing list