Revert "[lldb] Fix bug to update process public run lock with process state"
authorMed Ismail Bennani <medismail.bennani@gmail.com>
Wed, 19 Apr 2023 17:46:17 +0000 (10:46 -0700)
committerMed Ismail Bennani <medismail.bennani@gmail.com>
Wed, 19 Apr 2023 17:46:33 +0000 (10:46 -0700)
This reverts commit 14f00213b202a82b895a6ab749262d4382435012.

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

index 0c90078accfcb0cf77dce7aa1c7f8b09e041e705..255ba8cd4a923299395199f81435679f8b835a46 100644 (file)
@@ -386,13 +386,6 @@ public:
 
   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();
   }
index ff28d02891cca2fda409d69e15a68c46052e59f1..af5b0d0920102b64c3c356b5326066caec07dd00 100644 (file)
@@ -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;
index 03379796a4e5150978a70d5356e7bae5219e339a..a6e6f210016251ed34ffc1145d37c5db8ff4475b 100644 (file)
@@ -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);
   }