[Lldb-commits] [lldb] f2f3755 - Revert "[lldb] Fix bug to update process public run lock with process state"

Med Ismail Bennani via lldb-commits lldb-commits at lists.llvm.org
Wed Apr 19 10:46:51 PDT 2023


Author: Med Ismail Bennani
Date: 2023-04-19T10:46:33-07:00
New Revision: f2f37557e722a4d41378bd53c119ee89cb3ec93d

URL: https://github.com/llvm/llvm-project/commit/f2f37557e722a4d41378bd53c119ee89cb3ec93d
DIFF: https://github.com/llvm/llvm-project/commit/f2f37557e722a4d41378bd53c119ee89cb3ec93d.diff

LOG: Revert "[lldb] Fix bug to update process public run lock with process state"

This reverts commit 14f00213b202a82b895a6ab749262d4382435012.

Added: 
    

Modified: 
    lldb/include/lldb/Target/Process.h
    lldb/source/Target/Process.cpp
    lldb/source/Target/Target.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/include/lldb/Target/Process.h b/lldb/include/lldb/Target/Process.h
index 0c90078accfcb..255ba8cd4a923 100644
--- a/lldb/include/lldb/Target/Process.h
+++ b/lldb/include/lldb/Target/Process.h
@@ -386,13 +386,6 @@ class Process : public std::enable_shared_from_this<Process>,
 
   static ConstString &GetStaticBroadcasterClass();
 
-  static constexpr llvm::StringRef AttachSynchronousHijackListenerName =
-      "lldb.internal.Process.AttachSynchronous.hijack";
-  static constexpr llvm::StringRef LaunchSynchronousHijackListenerName =
-      "lldb.internal.Process.LaunchSynchronous.hijack";
-  static constexpr llvm::StringRef ResumeSynchronousHijackListenerName =
-      "lldb.internal.Process.ResumeSynchronous.hijack";
-
   ConstString &GetBroadcasterClass() const override {
     return GetStaticBroadcasterClass();
   }

diff  --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index ff28d02891cca..af5b0d0920102 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -1355,6 +1355,8 @@ Status Process::Resume() {
   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");
@@ -1365,7 +1367,7 @@ Status Process::ResumeSynchronous(Stream *stream) {
   }
 
   ListenerSP listener_sp(
-      Listener::MakeListener(ResumeSynchronousHijackListenerName.data()));
+      Listener::MakeListener(g_resume_sync_name));
   HijackProcessEvents(listener_sp);
 
   Status error = PrivateResume();
@@ -1391,8 +1393,9 @@ Status Process::ResumeSynchronous(Stream *stream) {
 
 bool Process::StateChangedIsExternallyHijacked() {
   if (IsHijackedForEvent(eBroadcastBitStateChanged)) {
-    llvm::StringRef hijacking_name = GetHijackingListenerName();
-    if (hijacking_name.starts_with("lldb.internal"))
+    const char *hijacking_name = GetHijackingListenerName();
+    if (hijacking_name &&
+        strcmp(hijacking_name, g_resume_sync_name))
       return true;
   }
   return false;
@@ -1400,8 +1403,9 @@ bool Process::StateChangedIsExternallyHijacked() {
 
 bool Process::StateChangedIsHijackedForSynchronousResume() {
   if (IsHijackedForEvent(eBroadcastBitStateChanged)) {
-    llvm::StringRef hijacking_name = GetHijackingListenerName();
-    if (hijacking_name == ResumeSynchronousHijackListenerName)
+    const char *hijacking_name = GetHijackingListenerName();
+    if (hijacking_name &&
+        strcmp(hijacking_name, g_resume_sync_name) == 0)
       return true;
   }
   return false;

diff  --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp
index 03379796a4e51..a6e6f21001625 100644
--- a/lldb/source/Target/Target.cpp
+++ b/lldb/source/Target/Target.cpp
@@ -3157,8 +3157,8 @@ Status Target::Launch(ProcessLaunchInfo &launch_info, Stream *stream) {
   // 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(
-        Process::LaunchSynchronousHijackListenerName.data()));
+    launch_info.SetHijackListener(
+        Listener::MakeListener("lldb.Target.Launch.hijack"));
 
   // 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 @@ Status Target::Attach(ProcessAttachInfo &attach_info, Stream *stream) {
   ListenerSP hijack_listener_sp;
   const bool async = attach_info.GetAsync();
   if (!async) {
-    hijack_listener_sp = Listener::MakeListener(
-        Process::AttachSynchronousHijackListenerName.data());
+    hijack_listener_sp =
+        Listener::MakeListener("lldb.Target.Attach.attach.hijack");
     attach_info.SetHijackListener(hijack_listener_sp);
   }
 


        


More information about the lldb-commits mailing list