Author: gclayton
Date: Mon Oct 19 19:14:20 2015
New Revision: 250768
URL: http://llvm.org/viewvc/llvm-project?rev=250768&view=rev
Log:
Make sure we restore the process events so they aren't hijacked when using the
async attach when attaching to a process by name and with waitfor.
<rdar://problem/22821480>
Modified:
lldb/trunk/source/Target/Target.cpp
Modified: lldb/trunk/source/Target/Target.cpp
URL:
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Target.cpp?rev=250768&r1=250767&r2=250768&view=diff
==============================================================================
--- lldb/trunk/source/Target/Target.cpp (original)
+++ lldb/trunk/source/Target/Target.cpp Mon Oct 19 19:14:20 2015
@@ -3162,19 +3162,26 @@ Target::Attach (ProcessAttachInfo &attac
error = process_sp->Attach (attach_info);
}
- if (error.Success () && process_sp && async == false)
+ if (error.Success () && process_sp)
{
- state = process_sp->WaitForProcessToStop (nullptr, nullptr, false,
attach_info.GetHijackListener ().get (), stream);
- process_sp->RestoreProcessEvents ();
-
- if (state != eStateStopped)
+ if (async)
+ {
+ process_sp->RestoreProcessEvents ();
+ }
+ else
{
- const char *exit_desc = process_sp->GetExitDescription ();
- if (exit_desc)
- error.SetErrorStringWithFormat ("%s", exit_desc);
- else
- error.SetErrorString ("process did not stop (no such process
or permission problem?)");
- process_sp->Destroy (false);
+ state = process_sp->WaitForProcessToStop (nullptr, nullptr, false,
attach_info.GetHijackListener ().get (), stream);
+ process_sp->RestoreProcessEvents ();
+
+ if (state != eStateStopped)
+ {
+ const char *exit_desc = process_sp->GetExitDescription ();
+ if (exit_desc)
+ error.SetErrorStringWithFormat ("%s", exit_desc);
+ else
+ error.SetErrorString ("process did not stop (no such
process or permission problem?)");
+ process_sp->Destroy (false);
+ }
}
}
return error;
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits