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

Greg Clayton gclayton at apple.com
Mon Aug 18 16:45:11 PDT 2014


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




More information about the lldb-commits mailing list