Hi Jim, how does this look? I noticed the need to add a flag to WaitForProcessToStop that makes it not wait for an event in certain scenarios (when called from CommandObjectProcessLaunch). The same function when used from other places needs to wait for an event based on my testing..
This is the last thing that needs to be committed before I can push the initial version of the terminal ui we've been hacking on here :) Cheers, Dan On 2013-10-04 10:15 AM, "Malea, Daniel" <[email protected]> wrote: >Yes, originally I had the state-checking logic in WaitForProcessToStop() >and noticed some regressions, but I didn't investigate them too much...I >will take another look. > >Thanks, >Dan > >-----Original Message----- >From: [email protected] [mailto:[email protected]] >Sent: Thursday, October 3, 2013 7:09 PM >To: Malea, Daniel >Cc: [email protected] >Subject: Re: [Lldb-commits] [PATCH] Make CommandObjectProcess check >process state before calling WaitForProcessToStop > >Shouldn't this be done in WaitForProcessToStop? > >Jim > >On Oct 3, 2013, at 3:34 PM, Malea, Daniel <[email protected]> wrote: > >> Hi all, >> >> I noticed a race condition where a process is launched and hits a >>breakpoint while CommandObjectProcessLaunch is still in DoExecute. The >>effect I'm seeing is that if Process::WaitForProcessToStop() is called >>on a stopped process, LLDB hangs. >> >> This patch fixes the issue by checking the process state before calling >>WaitForProcessToStop from CommandObjectProcessLaunch. I think there >>might still be a race condition in between getting the state and >>checking if StateIsStoppedState, but I'm not sure what process mutex to >>acquire in the command object while checking the state, or if that >>approach is any better.. >> >> Comments welcome! >> >> Thanks, >> Dan >> >><command_object_process_check_state.patch>_______________________________ >>________________ >> lldb-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits > > >_______________________________________________ >lldb-commits mailing list >[email protected] >http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
wait_for_process_to_stop_nohang.patch
Description: wait_for_process_to_stop_nohang.patch
_______________________________________________ lldb-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
