| Index: remoting/protocol/channel_multiplexer.cc
|
| diff --git a/remoting/protocol/channel_multiplexer.cc b/remoting/protocol/channel_multiplexer.cc
|
| index 97233d23c1150edaa03179b084b3211fc71a3572..5331bc4e0614aeeffd7fabe42ef04bc055a77e37 100644
|
| --- a/remoting/protocol/channel_multiplexer.cc
|
| +++ b/remoting/protocol/channel_multiplexer.cc
|
| @@ -15,6 +15,7 @@
|
| #include "base/location.h"
|
| #include "base/macros.h"
|
| #include "base/memory/ptr_util.h"
|
| +#include "base/sequence_checker.h"
|
| #include "base/single_thread_task_runner.h"
|
| #include "base/threading/thread_task_runner_handle.h"
|
| #include "net/base/net_errors.h"
|
| @@ -97,7 +98,6 @@ class ChannelMultiplexer::MuxChannel {
|
| };
|
|
|
| class ChannelMultiplexer::MuxSocket : public P2PStreamSocket,
|
| - public base::NonThreadSafe,
|
| public base::SupportsWeakPtr<MuxSocket> {
|
| public:
|
| MuxSocket(MuxChannel* channel);
|
| @@ -126,6 +126,8 @@ class ChannelMultiplexer::MuxSocket : public P2PStreamSocket,
|
| int write_result_;
|
| net::CompletionCallback write_callback_;
|
|
|
| + SEQUENCE_CHECKER(sequence_checker_);
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(MuxSocket);
|
| };
|
|
|
| @@ -220,7 +222,7 @@ ChannelMultiplexer::MuxSocket::~MuxSocket() {
|
| int ChannelMultiplexer::MuxSocket::Read(
|
| const scoped_refptr<net::IOBuffer>& buffer, int buffer_len,
|
| const net::CompletionCallback& callback) {
|
| - DCHECK(CalledOnValidThread());
|
| + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
| DCHECK(read_callback_.is_null());
|
|
|
| if (base_channel_error_ != net::OK)
|
| @@ -239,7 +241,7 @@ int ChannelMultiplexer::MuxSocket::Read(
|
| int ChannelMultiplexer::MuxSocket::Write(
|
| const scoped_refptr<net::IOBuffer>& buffer, int buffer_len,
|
| const net::CompletionCallback& callback) {
|
| - DCHECK(CalledOnValidThread());
|
| + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
| DCHECK(write_callback_.is_null());
|
|
|
| if (base_channel_error_ != net::OK)
|
| @@ -307,6 +309,7 @@ ChannelMultiplexer::ChannelMultiplexer(StreamChannelFactory* factory,
|
| weak_factory_(this) {}
|
|
|
| ChannelMultiplexer::~ChannelMultiplexer() {
|
| + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
| DCHECK(pending_channels_.empty());
|
|
|
| // Cancel creation of the base channel if it hasn't finished.
|
|
|