mib updated this revision to Diff 514792.
mib marked 3 inline comments as done.
mib added a comment.
Address @bulbazord comments
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D148400/new/
https://reviews.llvm.org/D148400
Files:
lldb/include/lldb/Target/Process.h
lldb/source/Target/Process.cpp
lldb/source/Target/Target.cpp
Index: lldb/source/Target/Target.cpp
===================================================================
--- lldb/source/Target/Target.cpp
+++ lldb/source/Target/Target.cpp
@@ -3157,8 +3157,8 @@
// its own hijacking listener or if the process is created by the target
// manually, without the platform).
if (!launch_info.GetHijackListener())
- launch_info.SetHijackListener(
- Listener::MakeListener("lldb.Target.Launch.hijack"));
+ launch_info.SetHijackListener(Listener::MakeListener(
+ Process::GetLaunchSynchronousHijackListenerName().data()));
// If we're not already connected to the process, and if we have a platform
// that can launch a process for debugging, go ahead and do that here.
@@ -3334,8 +3334,8 @@
ListenerSP hijack_listener_sp;
const bool async = attach_info.GetAsync();
if (!async) {
- hijack_listener_sp =
- Listener::MakeListener("lldb.Target.Attach.attach.hijack");
+ hijack_listener_sp = Listener::MakeListener(
+ Process::GetAttachSynchronousHijackListenerName().data());
attach_info.SetHijackListener(hijack_listener_sp);
}
Index: lldb/source/Target/Process.cpp
===================================================================
--- lldb/source/Target/Process.cpp
+++ lldb/source/Target/Process.cpp
@@ -401,6 +401,18 @@
return class_name;
}
+llvm::StringRef Process::GetAttachSynchronousHijackListenerName() {
+ return "lldb.internal.Process.AttachSynchronous.hijack";
+}
+
+llvm::StringRef Process::GetLaunchSynchronousHijackListenerName() {
+ return "lldb.internal.Process.LaunchSynchronous.hijack";
+}
+
+llvm::StringRef Process::GetResumeSynchronousHijackListenerName() {
+ return "lldb.internal.Process.ResumeSynchronous.hijack";
+}
+
Process::Process(lldb::TargetSP target_sp, ListenerSP listener_sp)
: Process(target_sp, listener_sp, UnixSignals::CreateForHost()) {
// This constructor just delegates to the full Process constructor,
@@ -1355,8 +1367,6 @@
return error;
}
-static const char *g_resume_sync_name = "lldb.Process.ResumeSynchronous.hijack";
-
Status Process::ResumeSynchronous(Stream *stream) {
Log *log(GetLog(LLDBLog::State | LLDBLog::Process));
LLDB_LOGF(log, "Process::ResumeSynchronous -- locking run lock");
@@ -1367,7 +1377,7 @@
}
ListenerSP listener_sp(
- Listener::MakeListener(g_resume_sync_name));
+ Listener::MakeListener(GetResumeSynchronousHijackListenerName().data()));
HijackProcessEvents(listener_sp);
Status error = PrivateResume();
@@ -1393,9 +1403,8 @@
bool Process::StateChangedIsExternallyHijacked() {
if (IsHijackedForEvent(eBroadcastBitStateChanged)) {
- const char *hijacking_name = GetHijackingListenerName();
- if (hijacking_name &&
- strcmp(hijacking_name, g_resume_sync_name))
+ llvm::StringRef hijacking_name = GetHijackingListenerName();
+ if (hijacking_name.starts_with("lldb.internal"))
return true;
}
return false;
@@ -1403,9 +1412,8 @@
bool Process::StateChangedIsHijackedForSynchronousResume() {
if (IsHijackedForEvent(eBroadcastBitStateChanged)) {
- const char *hijacking_name = GetHijackingListenerName();
- if (hijacking_name &&
- strcmp(hijacking_name, g_resume_sync_name) == 0)
+ llvm::StringRef hijacking_name = GetHijackingListenerName();
+ if (hijacking_name == GetResumeSynchronousHijackListenerName())
return true;
}
return false;
Index: lldb/include/lldb/Target/Process.h
===================================================================
--- lldb/include/lldb/Target/Process.h
+++ lldb/include/lldb/Target/Process.h
@@ -386,6 +386,10 @@
static ConstString &GetStaticBroadcasterClass();
+ static llvm::StringRef GetAttachSynchronousHijackListenerName();
+ static llvm::StringRef GetLaunchSynchronousHijackListenerName();
+ static llvm::StringRef GetResumeSynchronousHijackListenerName();
+
ConstString &GetBroadcasterClass() const override {
return GetStaticBroadcasterClass();
}
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits