Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(882)

Unified Diff: mojo/edk/system/data_pipe.cc

Issue 782693004: Update mojo sdk to rev f6c8ec07c01deebc13178d516225fd12695c3dc2 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: hack mojo_system_impl gypi for android :| Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mojo/edk/system/data_pipe.cc
diff --git a/mojo/edk/system/data_pipe.cc b/mojo/edk/system/data_pipe.cc
index cbacb89815c168f2f59ca40dcaad7cc2152af906..2f433bdf9a5cd9eb91638a4647868124d1ca40df 100644
--- a/mojo/edk/system/data_pipe.cc
+++ b/mojo/edk/system/data_pipe.cc
@@ -10,10 +10,10 @@
#include <limits>
#include "base/logging.h"
+#include "mojo/edk/system/awakable_list.h"
#include "mojo/edk/system/configuration.h"
#include "mojo/edk/system/memory.h"
#include "mojo/edk/system/options_validation.h"
-#include "mojo/edk/system/waiter_list.h"
namespace mojo {
namespace system {
@@ -83,10 +83,10 @@ MojoResult DataPipe::ValidateCreateOptions(
return MOJO_RESULT_OK;
}
-void DataPipe::ProducerCancelAllWaiters() {
+void DataPipe::ProducerCancelAllAwakables() {
base::AutoLock locker(lock_);
DCHECK(has_local_producer_no_lock());
- producer_waiter_list_->CancelAllWaiters();
+ producer_awakable_list_->CancelAll();
}
void DataPipe::ProducerClose() {
@@ -94,13 +94,13 @@ void DataPipe::ProducerClose() {
DCHECK(producer_open_);
producer_open_ = false;
DCHECK(has_local_producer_no_lock());
- producer_waiter_list_.reset();
+ producer_awakable_list_.reset();
// Not a bug, except possibly in "user" code.
DVLOG_IF(2, producer_in_two_phase_write_no_lock())
<< "Producer closed with active two-phase write";
producer_two_phase_max_num_bytes_written_ = 0;
ProducerCloseImplNoLock();
- AwakeConsumerWaitersForStateChangeNoLock(
+ AwakeConsumerAwakablesForStateChangeNoLock(
ConsumerGetHandleSignalsStateImplNoLock());
}
@@ -132,7 +132,7 @@ MojoResult DataPipe::ProducerWriteData(UserPointer<const void> elements,
HandleSignalsState new_consumer_state =
ConsumerGetHandleSignalsStateImplNoLock();
if (!new_consumer_state.equals(old_consumer_state))
- AwakeConsumerWaitersForStateChangeNoLock(new_consumer_state);
+ AwakeConsumerAwakablesForStateChangeNoLock(new_consumer_state);
return rv;
}
@@ -159,10 +159,10 @@ MojoResult DataPipe::ProducerBeginWriteData(
min_num_bytes_to_write);
if (rv != MOJO_RESULT_OK)
return rv;
- // Note: No need to awake producer waiters, even though we're going from
+ // Note: No need to awake producer awakables, even though we're going from
// writable to non-writable (since you can't wait on non-writability).
// Similarly, though this may have discarded data (in "may discard" mode),
- // making it non-readable, there's still no need to awake consumer waiters.
+ // making it non-readable, there's still no need to awake consumer awakables.
DCHECK(producer_in_two_phase_write_no_lock());
return MOJO_RESULT_OK;
}
@@ -189,15 +189,15 @@ MojoResult DataPipe::ProducerEndWriteData(uint32_t num_bytes_written) {
// Two-phase write ended even on failure.
DCHECK(!producer_in_two_phase_write_no_lock());
// If we're now writable, we *became* writable (since we weren't writable
- // during the two-phase write), so awake producer waiters.
+ // during the two-phase write), so awake producer awakables.
HandleSignalsState new_producer_state =
ProducerGetHandleSignalsStateImplNoLock();
if (new_producer_state.satisfies(MOJO_HANDLE_SIGNAL_WRITABLE))
- AwakeProducerWaitersForStateChangeNoLock(new_producer_state);
+ AwakeProducerAwakablesForStateChangeNoLock(new_producer_state);
HandleSignalsState new_consumer_state =
ConsumerGetHandleSignalsStateImplNoLock();
if (!new_consumer_state.equals(old_consumer_state))
- AwakeConsumerWaitersForStateChangeNoLock(new_consumer_state);
+ AwakeConsumerAwakablesForStateChangeNoLock(new_consumer_state);
return rv;
}
@@ -207,10 +207,10 @@ HandleSignalsState DataPipe::ProducerGetHandleSignalsState() {
return ProducerGetHandleSignalsStateImplNoLock();
}
-MojoResult DataPipe::ProducerAddWaiter(Waiter* waiter,
- MojoHandleSignals signals,
- uint32_t context,
- HandleSignalsState* signals_state) {
+MojoResult DataPipe::ProducerAddAwakable(Awakable* awakable,
+ MojoHandleSignals signals,
+ uint32_t context,
+ HandleSignalsState* signals_state) {
base::AutoLock locker(lock_);
DCHECK(has_local_producer_no_lock());
@@ -226,15 +226,15 @@ MojoResult DataPipe::ProducerAddWaiter(Waiter* waiter,
return MOJO_RESULT_FAILED_PRECONDITION;
}
- producer_waiter_list_->AddWaiter(waiter, signals, context);
+ producer_awakable_list_->Add(awakable, signals, context);
return MOJO_RESULT_OK;
}
-void DataPipe::ProducerRemoveWaiter(Waiter* waiter,
- HandleSignalsState* signals_state) {
+void DataPipe::ProducerRemoveAwakable(Awakable* awakable,
+ HandleSignalsState* signals_state) {
base::AutoLock locker(lock_);
DCHECK(has_local_producer_no_lock());
- producer_waiter_list_->RemoveWaiter(waiter);
+ producer_awakable_list_->Remove(awakable);
if (signals_state)
*signals_state = ProducerGetHandleSignalsStateImplNoLock();
}
@@ -244,10 +244,10 @@ bool DataPipe::ProducerIsBusy() const {
return producer_in_two_phase_write_no_lock();
}
-void DataPipe::ConsumerCancelAllWaiters() {
+void DataPipe::ConsumerCancelAllAwakables() {
base::AutoLock locker(lock_);
DCHECK(has_local_consumer_no_lock());
- consumer_waiter_list_->CancelAllWaiters();
+ consumer_awakable_list_->CancelAll();
}
void DataPipe::ConsumerClose() {
@@ -255,13 +255,13 @@ void DataPipe::ConsumerClose() {
DCHECK(consumer_open_);
consumer_open_ = false;
DCHECK(has_local_consumer_no_lock());
- consumer_waiter_list_.reset();
+ consumer_awakable_list_.reset();
// Not a bug, except possibly in "user" code.
DVLOG_IF(2, consumer_in_two_phase_read_no_lock())
<< "Consumer closed with active two-phase read";
consumer_two_phase_max_num_bytes_read_ = 0;
ConsumerCloseImplNoLock();
- AwakeProducerWaitersForStateChangeNoLock(
+ AwakeProducerAwakablesForStateChangeNoLock(
ProducerGetHandleSignalsStateImplNoLock());
}
@@ -291,7 +291,7 @@ MojoResult DataPipe::ConsumerReadData(UserPointer<void> elements,
HandleSignalsState new_producer_state =
ProducerGetHandleSignalsStateImplNoLock();
if (!new_producer_state.equals(old_producer_state))
- AwakeProducerWaitersForStateChangeNoLock(new_producer_state);
+ AwakeProducerAwakablesForStateChangeNoLock(new_producer_state);
return rv;
}
@@ -320,7 +320,7 @@ MojoResult DataPipe::ConsumerDiscardData(UserPointer<uint32_t> num_bytes,
HandleSignalsState new_producer_state =
ProducerGetHandleSignalsStateImplNoLock();
if (!new_producer_state.equals(old_producer_state))
- AwakeProducerWaitersForStateChangeNoLock(new_producer_state);
+ AwakeProducerAwakablesForStateChangeNoLock(new_producer_state);
return rv;
}
@@ -380,15 +380,15 @@ MojoResult DataPipe::ConsumerEndReadData(uint32_t num_bytes_read) {
// Two-phase read ended even on failure.
DCHECK(!consumer_in_two_phase_read_no_lock());
// If we're now readable, we *became* readable (since we weren't readable
- // during the two-phase read), so awake consumer waiters.
+ // during the two-phase read), so awake consumer awakables.
HandleSignalsState new_consumer_state =
ConsumerGetHandleSignalsStateImplNoLock();
if (new_consumer_state.satisfies(MOJO_HANDLE_SIGNAL_READABLE))
- AwakeConsumerWaitersForStateChangeNoLock(new_consumer_state);
+ AwakeConsumerAwakablesForStateChangeNoLock(new_consumer_state);
HandleSignalsState new_producer_state =
ProducerGetHandleSignalsStateImplNoLock();
if (!new_producer_state.equals(old_producer_state))
- AwakeProducerWaitersForStateChangeNoLock(new_producer_state);
+ AwakeProducerAwakablesForStateChangeNoLock(new_producer_state);
return rv;
}
@@ -398,10 +398,10 @@ HandleSignalsState DataPipe::ConsumerGetHandleSignalsState() {
return ConsumerGetHandleSignalsStateImplNoLock();
}
-MojoResult DataPipe::ConsumerAddWaiter(Waiter* waiter,
- MojoHandleSignals signals,
- uint32_t context,
- HandleSignalsState* signals_state) {
+MojoResult DataPipe::ConsumerAddAwakable(Awakable* awakable,
+ MojoHandleSignals signals,
+ uint32_t context,
+ HandleSignalsState* signals_state) {
base::AutoLock locker(lock_);
DCHECK(has_local_consumer_no_lock());
@@ -417,15 +417,15 @@ MojoResult DataPipe::ConsumerAddWaiter(Waiter* waiter,
return MOJO_RESULT_FAILED_PRECONDITION;
}
- consumer_waiter_list_->AddWaiter(waiter, signals, context);
+ consumer_awakable_list_->Add(awakable, signals, context);
return MOJO_RESULT_OK;
}
-void DataPipe::ConsumerRemoveWaiter(Waiter* waiter,
- HandleSignalsState* signals_state) {
+void DataPipe::ConsumerRemoveAwakable(Awakable* awakable,
+ HandleSignalsState* signals_state) {
base::AutoLock locker(lock_);
DCHECK(has_local_consumer_no_lock());
- consumer_waiter_list_->RemoveWaiter(waiter);
+ consumer_awakable_list_->Remove(awakable);
if (signals_state)
*signals_state = ConsumerGetHandleSignalsStateImplNoLock();
}
@@ -444,8 +444,10 @@ DataPipe::DataPipe(bool has_local_producer,
capacity_num_bytes_(validated_options.capacity_num_bytes),
producer_open_(true),
consumer_open_(true),
- producer_waiter_list_(has_local_producer ? new WaiterList() : nullptr),
- consumer_waiter_list_(has_local_consumer ? new WaiterList() : nullptr),
+ producer_awakable_list_(has_local_producer ? new AwakableList()
+ : nullptr),
+ consumer_awakable_list_(has_local_consumer ? new AwakableList()
+ : nullptr),
producer_two_phase_max_num_bytes_written_(0),
consumer_two_phase_max_num_bytes_read_(0) {
// Check that the passed in options actually are validated.
@@ -457,24 +459,24 @@ DataPipe::DataPipe(bool has_local_producer,
DataPipe::~DataPipe() {
DCHECK(!producer_open_);
DCHECK(!consumer_open_);
- DCHECK(!producer_waiter_list_);
- DCHECK(!consumer_waiter_list_);
+ DCHECK(!producer_awakable_list_);
+ DCHECK(!consumer_awakable_list_);
}
-void DataPipe::AwakeProducerWaitersForStateChangeNoLock(
+void DataPipe::AwakeProducerAwakablesForStateChangeNoLock(
const HandleSignalsState& new_producer_state) {
lock_.AssertAcquired();
if (!has_local_producer_no_lock())
return;
- producer_waiter_list_->AwakeWaitersForStateChange(new_producer_state);
+ producer_awakable_list_->AwakeForStateChange(new_producer_state);
}
-void DataPipe::AwakeConsumerWaitersForStateChangeNoLock(
+void DataPipe::AwakeConsumerAwakablesForStateChangeNoLock(
const HandleSignalsState& new_consumer_state) {
lock_.AssertAcquired();
if (!has_local_consumer_no_lock())
return;
- consumer_waiter_list_->AwakeWaitersForStateChange(new_consumer_state);
+ consumer_awakable_list_->AwakeForStateChange(new_consumer_state);
}
} // namespace system

Powered by Google App Engine
This is Rietveld 408576698