Index: mojo/system/local_data_pipe.cc |
diff --git a/mojo/system/local_data_pipe.cc b/mojo/system/local_data_pipe.cc |
index 334f597f23e0db58057f3af94fc61655e01b196d..2e2395a8e7348fe3f51ed0fbc23d492c76ec20bf 100644 |
--- a/mojo/system/local_data_pipe.cc |
+++ b/mojo/system/local_data_pipe.cc |
@@ -270,7 +270,8 @@ MojoResult LocalDataPipe::ConsumerBeginReadDataImplNoLock( |
if (all_or_none && *buffer_num_bytes > max_num_bytes_to_read) { |
// Don't return "should wait" since you can't wait for a specified amount of |
// data. |
- return MOJO_RESULT_OUT_OF_RANGE; |
+ return producer_open_no_lock() ? MOJO_RESULT_OUT_OF_RANGE : |
+ MOJO_RESULT_FAILED_PRECONDITION; |
} |
// Don't go into a two-phase read if there's no data. |