| Index: mojo/system/data_pipe.h
|
| diff --git a/mojo/system/data_pipe.h b/mojo/system/data_pipe.h
|
| index 2ebcd4616e7c4e31da259eaa8a23e027d3f43c49..ff4812eb70fa88681a283c0e2ac9ab2841cf2c1d 100644
|
| --- a/mojo/system/data_pipe.h
|
| +++ b/mojo/system/data_pipe.h
|
| @@ -83,9 +83,6 @@ class MOJO_SYSTEM_IMPL_EXPORT DataPipe :
|
| friend class base::RefCountedThreadSafe<DataPipe>;
|
| virtual ~DataPipe();
|
|
|
| - void AwakeProducerWaitersForStateChangeNoLock();
|
| - void AwakeConsumerWaitersForStateChangeNoLock();
|
| -
|
| virtual void ProducerCloseImplNoLock() = 0;
|
| // |*num_bytes| will be a nonzero multiple of |element_num_bytes_|.
|
| virtual MojoResult ProducerWriteDataImplNoLock(const void* elements,
|
| @@ -97,6 +94,7 @@ class MOJO_SYSTEM_IMPL_EXPORT DataPipe :
|
| bool all_or_none) = 0;
|
| virtual MojoResult ProducerEndWriteDataImplNoLock(
|
| uint32_t num_bytes_written) = 0;
|
| + // Note: A producer should not be writable during a two-phase write.
|
| virtual MojoWaitFlags ProducerSatisfiedFlagsNoLock() = 0;
|
| virtual MojoWaitFlags ProducerSatisfiableFlagsNoLock() = 0;
|
|
|
| @@ -113,6 +111,7 @@ class MOJO_SYSTEM_IMPL_EXPORT DataPipe :
|
| uint32_t* buffer_num_bytes,
|
| bool all_or_none) = 0;
|
| virtual MojoResult ConsumerEndReadDataImplNoLock(uint32_t num_bytes_read) = 0;
|
| + // Note: A consumer should not be writable during a two-phase read.
|
| virtual MojoWaitFlags ConsumerSatisfiedFlagsNoLock() = 0;
|
| virtual MojoWaitFlags ConsumerSatisfiableFlagsNoLock() = 0;
|
|
|
| @@ -158,6 +157,9 @@ class MOJO_SYSTEM_IMPL_EXPORT DataPipe :
|
| }
|
|
|
| private:
|
| + void AwakeProducerWaitersForStateChangeNoLock();
|
| + void AwakeConsumerWaitersForStateChangeNoLock();
|
| +
|
| bool has_local_producer_no_lock() const {
|
| lock_.AssertAcquired();
|
| return !!producer_waiter_list_.get();
|
|
|