aboutsummaryrefslogtreecommitdiff
path: root/source/Host/freebsd/HostThreadFreeBSD.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Host/freebsd/HostThreadFreeBSD.cpp')
-rw-r--r--source/Host/freebsd/HostThreadFreeBSD.cpp77
1 files changed, 34 insertions, 43 deletions
diff --git a/source/Host/freebsd/HostThreadFreeBSD.cpp b/source/Host/freebsd/HostThreadFreeBSD.cpp
index a4302a9e67bf..97d4d9d05b66 100644
--- a/source/Host/freebsd/HostThreadFreeBSD.cpp
+++ b/source/Host/freebsd/HostThreadFreeBSD.cpp
@@ -14,7 +14,7 @@
// C includes
#include <errno.h>
#include <pthread.h>
-#if defined (__FreeBSD__)
+#if defined(__FreeBSD__)
#include <pthread_np.h>
#endif
#include <stdlib.h>
@@ -26,54 +26,45 @@
using namespace lldb_private;
-HostThreadFreeBSD::HostThreadFreeBSD()
-{
-}
+HostThreadFreeBSD::HostThreadFreeBSD() {}
HostThreadFreeBSD::HostThreadFreeBSD(lldb::thread_t thread)
- : HostThreadPosix(thread)
-{
-}
+ : HostThreadPosix(thread) {}
-void
-HostThreadFreeBSD::GetName(lldb::tid_t tid, llvm::SmallVectorImpl<char> &name)
-{
- name.clear();
- int pid = Host::GetCurrentProcessID();
+void HostThreadFreeBSD::GetName(lldb::tid_t tid,
+ llvm::SmallVectorImpl<char> &name) {
+ name.clear();
+ int pid = Host::GetCurrentProcessID();
- struct kinfo_proc *kp = nullptr, *nkp;
- size_t len = 0;
- int error;
- int ctl[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID | KERN_PROC_INC_THREAD, (int)pid};
+ struct kinfo_proc *kp = nullptr, *nkp;
+ size_t len = 0;
+ int error;
+ int ctl[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID | KERN_PROC_INC_THREAD,
+ (int)pid};
- while (1)
- {
- error = sysctl(ctl, 4, kp, &len, nullptr, 0);
- if (kp == nullptr || (error != 0 && errno == ENOMEM))
- {
- // Add extra space in case threads are added before next call.
- len += sizeof(*kp) + len / 10;
- nkp = (struct kinfo_proc *)realloc(kp, len);
- if (nkp == nullptr)
- {
- free(kp);
- return;
- }
- kp = nkp;
- continue;
- }
- if (error != 0)
- len = 0;
- break;
+ while (1) {
+ error = sysctl(ctl, 4, kp, &len, nullptr, 0);
+ if (kp == nullptr || (error != 0 && errno == ENOMEM)) {
+ // Add extra space in case threads are added before next call.
+ len += sizeof(*kp) + len / 10;
+ nkp = (struct kinfo_proc *)realloc(kp, len);
+ if (nkp == nullptr) {
+ free(kp);
+ return;
+ }
+ kp = nkp;
+ continue;
}
+ if (error != 0)
+ len = 0;
+ break;
+ }
- for (size_t i = 0; i < len / sizeof(*kp); i++)
- {
- if (kp[i].ki_tid == (lwpid_t)tid)
- {
- name.append(kp[i].ki_tdname, kp[i].ki_tdname + strlen(kp[i].ki_tdname));
- break;
- }
+ for (size_t i = 0; i < len / sizeof(*kp); i++) {
+ if (kp[i].ki_tid == (lwpid_t)tid) {
+ name.append(kp[i].ki_tdname, kp[i].ki_tdname + strlen(kp[i].ki_tdname));
+ break;
}
- free(kp);
+ }
+ free(kp);
}