| Index: mojo/edk/system/message_in_transit.cc
|
| diff --git a/third_party/mojo/src/mojo/edk/system/message_in_transit.cc b/mojo/edk/system/message_in_transit.cc
|
| similarity index 89%
|
| copy from third_party/mojo/src/mojo/edk/system/message_in_transit.cc
|
| copy to mojo/edk/system/message_in_transit.cc
|
| index 7ac54e1afdfe82f7d7795802184074ad7b631962..2a742f7f3aaa24f2b50350896069b235a3d2afdd 100644
|
| --- a/third_party/mojo/src/mojo/edk/system/message_in_transit.cc
|
| +++ b/mojo/edk/system/message_in_transit.cc
|
| @@ -13,7 +13,7 @@
|
| #include "mojo/edk/system/transport_data.h"
|
|
|
| namespace mojo {
|
| -namespace system {
|
| +namespace edk {
|
|
|
| MOJO_STATIC_CONST_MEMBER_DEFINITION const size_t
|
| MessageInTransit::kMessageAlignment;
|
| @@ -69,13 +69,12 @@ bool MessageInTransit::View::IsValid(size_t serialized_platform_handle_size,
|
| }
|
|
|
| MessageInTransit::MessageInTransit(Type type,
|
| - Subtype subtype,
|
| uint32_t num_bytes,
|
| const void* bytes)
|
| : main_buffer_size_(RoundUpMessageAlignment(sizeof(Header) + num_bytes)),
|
| main_buffer_(static_cast<char*>(
|
| base::AlignedAlloc(main_buffer_size_, kMessageAlignment))) {
|
| - ConstructorHelper(type, subtype, num_bytes);
|
| + ConstructorHelper(type, num_bytes);
|
| if (bytes) {
|
| memcpy(MessageInTransit::bytes(), bytes, num_bytes);
|
| memset(static_cast<char*>(MessageInTransit::bytes()) + num_bytes, 0,
|
| @@ -86,13 +85,12 @@ MessageInTransit::MessageInTransit(Type type,
|
| }
|
|
|
| MessageInTransit::MessageInTransit(Type type,
|
| - Subtype subtype,
|
| uint32_t num_bytes,
|
| UserPointer<const void> bytes)
|
| : main_buffer_size_(RoundUpMessageAlignment(sizeof(Header) + num_bytes)),
|
| main_buffer_(static_cast<char*>(
|
| base::AlignedAlloc(main_buffer_size_, kMessageAlignment))) {
|
| - ConstructorHelper(type, subtype, num_bytes);
|
| + ConstructorHelper(type, num_bytes);
|
| bytes.GetArray(MessageInTransit::bytes(), num_bytes);
|
| memset(static_cast<char*>(MessageInTransit::bytes()) + num_bytes, 0,
|
| main_buffer_size_ - sizeof(Header) - num_bytes);
|
| @@ -116,7 +114,13 @@ MessageInTransit::~MessageInTransit() {
|
| if (!(*dispatchers_)[i])
|
| continue;
|
|
|
| - DCHECK((*dispatchers_)[i]->HasOneRef());
|
| +
|
| +
|
| +
|
| +
|
| +
|
| + //TODO(jam): why?
|
| + /// DCHECK((*dispatchers_)[i]->HasOneRef());
|
| (*dispatchers_)[i]->Close();
|
| }
|
| }
|
| @@ -151,8 +155,15 @@ void MessageInTransit::SetDispatchers(
|
|
|
| dispatchers_ = dispatchers.Pass();
|
| #ifndef NDEBUG
|
| - for (size_t i = 0; i < dispatchers_->size(); i++)
|
| - DCHECK(!(*dispatchers_)[i] || (*dispatchers_)[i]->HasOneRef());
|
| + //for (size_t i = 0; i < dispatchers_->size(); i++)
|
| +
|
| +
|
| +
|
| +
|
| + // JAM: fires in process receiving MP. is this because it's posting task to
|
| + // do rawchannel::init onio?
|
| +
|
| + //DCHECK(!(*dispatchers_)[i] || (*dispatchers_)[i]->HasOneRef());
|
| #endif
|
| }
|
|
|
| @@ -166,29 +177,24 @@ void MessageInTransit::SetTransportData(
|
| UpdateTotalSize();
|
| }
|
|
|
| -void MessageInTransit::SerializeAndCloseDispatchers(Channel* channel) {
|
| - DCHECK(channel);
|
| +void MessageInTransit::SerializeAndCloseDispatchers() {
|
| DCHECK(!transport_data_);
|
|
|
| if (!dispatchers_ || !dispatchers_->size())
|
| return;
|
|
|
| - transport_data_.reset(new TransportData(dispatchers_.Pass(), channel));
|
| + transport_data_.reset(new TransportData(dispatchers_.Pass()));
|
|
|
| // Update the sizes in the message header.
|
| UpdateTotalSize();
|
| }
|
|
|
| void MessageInTransit::ConstructorHelper(Type type,
|
| - Subtype subtype,
|
| uint32_t num_bytes) {
|
| DCHECK_LE(num_bytes, GetConfiguration().max_message_num_bytes);
|
|
|
| // |total_size| is updated below, from the other values.
|
| header()->type = type;
|
| - header()->subtype = subtype;
|
| - header()->source_id = ChannelEndpointId();
|
| - header()->destination_id = ChannelEndpointId();
|
| header()->num_bytes = num_bytes;
|
| header()->unused = 0;
|
| // Note: If dispatchers are subsequently attached, then |total_size| will have
|
| @@ -205,5 +211,5 @@ void MessageInTransit::UpdateTotalSize() {
|
| }
|
| }
|
|
|
| -} // namespace system
|
| +} // namespace edk
|
| } // namespace mojo
|
|
|