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

Attachment: 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

Reply via email to