| Index: mojo/edk/system/data_pipe_producer_dispatcher.cc
|
| diff --git a/mojo/edk/system/data_pipe_producer_dispatcher.cc b/mojo/edk/system/data_pipe_producer_dispatcher.cc
|
| index d3b2530035889b2a5446edd1f33596d096dc6563..89c8d554132ba75d7ef070d2a498d04439376034 100644
|
| --- a/mojo/edk/system/data_pipe_producer_dispatcher.cc
|
| +++ b/mojo/edk/system/data_pipe_producer_dispatcher.cc
|
| @@ -496,16 +496,12 @@ void DataPipeProducerDispatcher::UpdateSignalsStateNoLock() {
|
| size_t previous_capacity = available_capacity_;
|
|
|
| ports::PortStatus port_status;
|
| - if (node_controller_->node()->GetStatus(control_port_, &port_status) !=
|
| - ports::OK ||
|
| - !port_status.receiving_messages) {
|
| + int rv = node_controller_->node()->GetStatus(control_port_, &port_status);
|
| + if (rv != ports::OK || !port_status.receiving_messages) {
|
| DVLOG(1) << "Data pipe producer " << pipe_id_ << " is aware of peer closure"
|
| << " [control_port=" << control_port_.name() << "]";
|
| -
|
| peer_closed_ = true;
|
| - }
|
| -
|
| - if (port_status.has_messages && !in_transit_) {
|
| + } else if (rv == ports::OK && port_status.has_messages && !in_transit_) {
|
| ports::ScopedMessage message;
|
| do {
|
| int rv = node_controller_->node()->GetMessageIf(control_port_, nullptr,
|
|
|