| Index: tools/android/forwarder2/device_listener.cc
|
| diff --git a/tools/android/forwarder2/device_listener.cc b/tools/android/forwarder2/device_listener.cc
|
| index 97131c8b2c985e3233fa93ca31848683c7b0f628..b48a7460ae8b9619b3d9ce242a144768eed0421a 100644
|
| --- a/tools/android/forwarder2/device_listener.cc
|
| +++ b/tools/android/forwarder2/device_listener.cc
|
| @@ -35,15 +35,14 @@ scoped_ptr<DeviceListener> DeviceListener::Create(
|
| listener_port = listener_socket->GetPort();
|
| SendCommand(command::BIND_SUCCESS, listener_port, host_socket.get());
|
| device_listener.reset(
|
| - new DeviceListener(
|
| - scoped_ptr<PipeNotifier>(new PipeNotifier()), listener_socket.Pass(),
|
| - host_socket.Pass(), listener_port, error_callback));
|
| + new DeviceListener(listener_socket.Pass(), host_socket.Pass(),
|
| + listener_port, error_callback));
|
| return device_listener.Pass();
|
| }
|
|
|
| DeviceListener::~DeviceListener() {
|
| DCHECK(deletion_task_runner_->RunsTasksOnCurrentThread());
|
| - exit_notifier_->Notify();
|
| + deletion_notifier_.Notify();
|
| }
|
|
|
| void DeviceListener::Start() {
|
| @@ -58,13 +57,11 @@ void DeviceListener::SetAdbDataSocket(scoped_ptr<Socket> adb_data_socket) {
|
| base::Unretained(this), base::Passed(&adb_data_socket)));
|
| }
|
|
|
| -DeviceListener::DeviceListener(scoped_ptr<PipeNotifier> pipe_notifier,
|
| - scoped_ptr<Socket> listener_socket,
|
| +DeviceListener::DeviceListener(scoped_ptr<Socket> listener_socket,
|
| scoped_ptr<Socket> host_socket,
|
| int port,
|
| const ErrorCallback& error_callback)
|
| : self_deleter_helper_(this, error_callback),
|
| - exit_notifier_(pipe_notifier.Pass()),
|
| listener_socket_(listener_socket.Pass()),
|
| host_socket_(host_socket.Pass()),
|
| listener_port_(port),
|
| @@ -72,9 +69,8 @@ DeviceListener::DeviceListener(scoped_ptr<PipeNotifier> pipe_notifier,
|
| thread_("DeviceListener") {
|
| CHECK(host_socket_.get());
|
| DCHECK(deletion_task_runner_.get());
|
| - DCHECK(exit_notifier_.get());
|
| - host_socket_->AddEventFd(exit_notifier_->receiver_fd());
|
| - listener_socket_->AddEventFd(exit_notifier_->receiver_fd());
|
| + host_socket_->AddEventFd(deletion_notifier_.receiver_fd());
|
| + listener_socket_->AddEventFd(deletion_notifier_.receiver_fd());
|
| }
|
|
|
| void DeviceListener::AcceptNextClientSoon() {
|
| @@ -119,11 +115,11 @@ void DeviceListener::AcceptClientOnInternalThread() {
|
|
|
| void DeviceListener::OnAdbDataSocketReceivedOnInternalThread(
|
| scoped_ptr<Socket> adb_data_socket) {
|
| - adb_data_socket_.swap(adb_data_socket);
|
| + DCHECK(adb_data_socket);
|
| SendCommand(command::ADB_DATA_SOCKET_SUCCESS, listener_port_,
|
| host_socket_.get());
|
| - CHECK(adb_data_socket_.get());
|
| - StartForwarder(device_data_socket_.Pass(), adb_data_socket_.Pass());
|
| + forwarders_manager_.CreateAndStartNewForwarder(
|
| + device_data_socket_.Pass(), adb_data_socket.Pass());
|
| AcceptNextClientSoon();
|
| }
|
|
|
|
|