[Lldb-commits] [PATCH] Fix on Linux for ReadThread lingering after inferior exits

Todd Fiala tfiala at google.com
Thu Aug 21 10:26:34 PDT 2014


LGTM.

Tested:
Ubuntu 14.04 x86_64: clang-3.5-built lldb, all tests passed.
MacOSX 10.9.4, Xcode6-Beta6-built lldb, all tests passed, except for:

TestCallStopAndContinue.py (Darwin tfiala-macpro2.roam.corp.google.com
13.3.0 Darwin Kernel Version 13.3.0: Tue Jun  3 21:27:35 PDT 2014;
root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64 i386)

which has been failing intermittently for me on both MacOSX (roughly 2 out
of 3 runs) and Linux (roughly 1 out of 3 runs).  Subsequent test run came
up clean.  Test failure there seems to be entirely unrelated to this change
and I get it on TOT as well.

Submitted here:
 svn commit
Sending        source/Core/Communication.cpp
Transmitting file data .
Committed revision 216194.



On Thu, Aug 21, 2014 at 9:54 AM, Todd Fiala <tfiala at google.com> wrote:

> Giving this a final test now.
>
> -Todd
>
>
> On Wed, Aug 20, 2014 at 4:53 PM, Alex Pepper <apepper at blueshiftinc.com>
> wrote:
>
>> Thanks, I have added the additional check as
>> suggested.
>>
>>
>>
>>
>> On Mon, Aug 18, 2014 at 4:45 PM, Greg Clayton <gclayton at apple.com> wrote:
>>
>>> You might need change:
>>>
>>>      if (error.GetError() == EIO)
>>>
>>>
>>> to be:
>>>
>>>      if (error.GetType() == eErrorTypePOSIX && error.GetError() == EIO)
>>>
>>> Other than that, it looks good.
>>>
>>>
>>> > On Aug 13, 2014, at 1:47 PM, Alex Pepper <apepper at blueshiftinc.com>
>>> wrote:
>>> >
>>> > This patch handles the case where the inferior process exits but
>>> leaves the ReadThread in a continuous loop reading from the communication
>>> pipe.  On MacOSX, the ReadThread exits when it receives a 0 return value
>>> from the read due to EOF.  On Linux the read returns -1 and sets errno to
>>> EIO error, this does not currently cause the thread to shutdown so it
>>> continues to read from the comm.   In Communication::ReadThread I added a
>>> handler for eConnectionStatusError to disconnect and shutdown the thread.
>>> >
>>> > We ran this through the full test suite on Ubuntu 14.04 x86_64 and
>>> MacOSX 10.9.4 with Xcode 6 Beta 5 with no new test failures.
>>> >
>>> > Let me know if there is a reason we shouldn't be handling the
>>> eConnectionStatusError in this way.
>>> >
>>> > Thanks,
>>> >
>>> > Alex
>>> >
>>> <apepper_connectstatuserror_rev1.diff>_______________________________________________
>>> > lldb-commits mailing list
>>> > lldb-commits at cs.uiuc.edu
>>> > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
>>>
>>>
>>
>> _______________________________________________
>> lldb-commits mailing list
>> lldb-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
>>
>>
>
>
> --
> Todd Fiala | Software Engineer |  tfiala at google.com |  650-943-3180
>



-- 
Todd Fiala | Software Engineer | tfiala at google.com | 650-943-3180
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20140821/a8f79fa6/attachment.html>


More information about the lldb-commits mailing list