Chromium Code Reviews| Index: mojo/edk/system/channel.cc |
| diff --git a/mojo/edk/system/channel.cc b/mojo/edk/system/channel.cc |
| index 8a44d36024e2346b3eab90a48f1eb77a35adcd63..77605667573707d34a32b6822c96901f445df331 100644 |
| --- a/mojo/edk/system/channel.cc |
| +++ b/mojo/edk/system/channel.cc |
| @@ -22,6 +22,8 @@ |
| #include "base/win/win_util.h" |
| #endif |
| +#include "base/atomicops.h" |
| + |
| namespace mojo { |
| namespace edk { |
| @@ -52,12 +54,24 @@ const size_t kMaxUnusedReadBufferCapacity = 4096; |
| const size_t kMaxChannelMessageSize = 256 * 1024 * 1024; |
| const size_t kMaxAttachedHandles = 128; |
| +static base::subtle::Atomic32 message_count_ = 0; |
| + |
| Channel::Message::Message(size_t payload_size, size_t max_handles) |
| #if defined(MOJO_EDK_LEGACY_PROTOCOL) |
| : Message(payload_size, max_handles, MessageType::NORMAL_LEGACY) { |
|
erikchen
2017/03/27 19:10:35
this constructor calls another constructor, so we
|
| + base::subtle::Barrier_AtomicIncrement(&message_count_, 1); |
| + if ((message_count_ % 1024) == 0) { |
| + LOG(ERROR) << "Message: " << message_count_ << " [" |
| + << base::GetCurrentProcId() << "]"; |
| + } |
| } |
| #else |
| : Message(payload_size, max_handles, MessageType::NORMAL) { |
| + base::subtle::Barrier_AtomicIncrement(&message_count_, 1); |
| + if ((message_count_ % 1024) == 0) { |
| + LOG(ERROR) << "Message: " << message_count_ << " [" |
| + << base::GetCurrentProcId() << "]"; |
| + } |
| } |
| #endif |
| @@ -66,6 +80,11 @@ Channel::Message::Message(size_t payload_size, |
| MessageType message_type) |
| : max_handles_(max_handles) { |
| DCHECK_LE(max_handles_, kMaxAttachedHandles); |
| + base::subtle::Barrier_AtomicIncrement(&message_count_, 1); |
| + if ((message_count_ % 1024) == 0) { |
| + LOG(ERROR) << "Message: " << message_count_ << " [" |
| + << base::GetCurrentProcId() << "]"; |
| + } |
| const bool is_legacy_message = (message_type == MessageType::NORMAL_LEGACY); |
| size_t extra_header_size = 0; |
| @@ -136,6 +155,7 @@ Channel::Message::Message(size_t payload_size, |
| } |
| Channel::Message::~Message() { |
| + base::subtle::Barrier_AtomicIncrement(&message_count_, -1); |
| base::AlignedFree(data_); |
| } |