It will get all process events delivered to it (like the initial eStateStopped 
event) to make sure the attach succeeded. The it will likely re-post the event 
after unhijacking the process events so LLDB knows about it.

Attach either succeeds or fails immediately (when attaching to a pid or name), 
or waits when attaching to the next process by name. This can be interrupted by 
CTRL+C and there is some logic that deals with that.

Greg

> On Aug 19, 2014, at 3:04 PM, Todd Fiala <tfi...@google.com> wrote:
> 
> Hey guys,
> 
> In the local MacOSX debugging case when PlatformDarwin::Attach () is 
> eventually called, what is this piece of code really doing?
> 
>                 ListenerSP listener_sp (new 
> Listener("lldb.PlatformDarwin.attach.hijack"));
>                 attach_info.SetHijackListener(listener_sp);
>                 process_sp->HijackProcessEvents(listener_sp.get());
> 
> What will be that hijacker's responsibility?
> 
> Thanks!
> -- 
> Todd Fiala |   Software Engineer |     tfi...@google.com |     650-943-3180
> 

_______________________________________________
lldb-dev mailing list
lldb-dev@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to