Yes this m_iohandler_sync is essentially implementing a "sleep(2)" as the overall fix. It is coded in a much more complex way, but that is the way it works out on MacOSX at least.
I will take look at this later today to come up with a real fix to hopefully fix this once and for all. The issue seems to be we have 3 threads: 1 - main thread running command interpreter waiting for user input 2 - debugger event handling thread that handles all events (run/stop/stdio from process) 3 - process private event handling thread I believe that the issue we are running into is we get a "stopped" on thread 2 and we grab stdio and also display the thread stop info (thread list and where we stopped) asynchronously while thread 1 is in the process of displaying the "(lldb) " prompt again. We really need any async text to be supplied to the IOHandler stack for display so that it can correctly coordinate the output. I believe right now thread 2 just prints stuff when it wants to and then asks the IOHandler to refresh the top IOHandler after it does the display, but I need to look at this again to make sure this is what is happening. Greg > On Apr 6, 2015, at 6:30 PM, Ed Maste <ema...@freebsd.org> wrote: > > On 6 April 2015 at 17:39, Greg Clayton <gclay...@apple.com> wrote: >> So do you still have problems with the prompt coming out at the wrong time >> or getting interspersed on FreeBSD with top of tree? It is just made worse >> by this patch? > > Yes, I get the (lldb) prompt coming out at the wrong time (in relation > to the source listing or target I/O) on top of tree. It's at best > unchanged with the (one-liner) patch -- because it seems to vary with > the overall system load it's hard to say for certain. But I get > interspersed prompts on top of tree with or without the patch. > > The change that's been a reliable workaround for me is a usleep(100) > at the end of Process:PrivateResume(). I'll see if that's still the > case and also try the other patch you posted tomorrow. _______________________________________________ lldb-dev mailing list lldb-dev@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev