forked from OSchip/llvm-project
[lldb/Target] Avoid race between Communication::Disconnect calls.
Avoid a race between the Disconnect call in `Communication::ReadThread` and the one in `Process::ShouldBroadcastEvent` by reordering the calls to Disconnect and StopReadThread in `Process::ShouldBroadcastEvent`. In D77295 Pavel suggested that that might explain the broken pipe I was seeing. Indeed, changing the order resolved the issue.
This commit is contained in:
parent
478619cf9a
commit
b424b0bf73
|
@ -3386,8 +3386,8 @@ bool Process::ShouldBroadcastEvent(Event *event_ptr) {
|
|||
case eStateExited:
|
||||
case eStateUnloaded:
|
||||
m_stdio_communication.SynchronizeWithReadThread();
|
||||
m_stdio_communication.Disconnect();
|
||||
m_stdio_communication.StopReadThread();
|
||||
m_stdio_communication.Disconnect();
|
||||
m_stdin_forward = false;
|
||||
|
||||
LLVM_FALLTHROUGH;
|
||||
|
|
Loading…
Reference in New Issue