diff options
author | pliard@chromium.org <pliard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-09 10:39:41 +0000 |
---|---|---|
committer | pliard@chromium.org <pliard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-09 10:39:41 +0000 |
commit | 0e97c46b3e10d41ee58ba59d350230d3f2cd0b4b (patch) | |
tree | bb110ce52dd8afa963977b991603be8039e88426 /tools/android | |
parent | be486c53a9a00aa2ecaf5b86762a550a70594287 (diff) | |
download | chromium_src-0e97c46b3e10d41ee58ba59d350230d3f2cd0b4b.zip chromium_src-0e97c46b3e10d41ee58ba59d350230d3f2cd0b4b.tar.gz chromium_src-0e97c46b3e10d41ee58ba59d350230d3f2cd0b4b.tar.bz2 |
Print 'Starting Device Forwarder' after Unix Domain Socket initialization.
This message is used as a barrier in the Python script. It could be printed
before the Unix Domain Socket initialization failed.
Although the device controller can still fail later it seems safer that way.
Review URL: https://chromiumcodereview.appspot.com/11087006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160818 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/android')
-rw-r--r-- | tools/android/forwarder2/device_controller.cc | 12 | ||||
-rw-r--r-- | tools/android/forwarder2/device_controller.h | 4 | ||||
-rw-r--r-- | tools/android/forwarder2/device_forwarder_main.cc | 7 |
3 files changed, 14 insertions, 9 deletions
diff --git a/tools/android/forwarder2/device_controller.cc b/tools/android/forwarder2/device_controller.cc index c7acca3..ff4470a 100644 --- a/tools/android/forwarder2/device_controller.cc +++ b/tools/android/forwarder2/device_controller.cc @@ -45,13 +45,17 @@ void DeviceController::KillAllListeners() { } } -bool DeviceController::Start(const std::string& adb_unix_socket) { +bool DeviceController::Init(const std::string& adb_unix_socket) { if (!kickstart_adb_socket_.BindUnix(adb_unix_socket, true /* abstract */)) { - LOG(ERROR) << "Could not BindAndListen DeviceController socket on port: " - << adb_unix_socket; + LOG(ERROR) << "Could not BindAndListen DeviceController socket on port " + << adb_unix_socket << ": " << safe_strerror(errno); return false; } + return true; +} + +void DeviceController::Start() { while (true) { CleanUpDeadListeners(); scoped_ptr<Socket> socket(new Socket); @@ -124,8 +128,6 @@ bool DeviceController::Start(const std::string& adb_unix_socket) { KillAllListeners(); CleanUpDeadListeners(); kickstart_adb_socket_.Close(); - - return true; } } // namespace forwarder diff --git a/tools/android/forwarder2/device_controller.h b/tools/android/forwarder2/device_controller.h index 213cb8a8..4c36698 100644 --- a/tools/android/forwarder2/device_controller.h +++ b/tools/android/forwarder2/device_controller.h @@ -22,7 +22,9 @@ class DeviceController { explicit DeviceController(int exit_notifier_fd); ~DeviceController(); - bool Start(const std::string& adb_unix_socket); + bool Init(const std::string& adb_unix_socket); + + void Start(); private: void KillAllListeners(); diff --git a/tools/android/forwarder2/device_forwarder_main.cc b/tools/android/forwarder2/device_forwarder_main.cc index 481cde4..c0142a1 100644 --- a/tools/android/forwarder2/device_forwarder_main.cc +++ b/tools/android/forwarder2/device_forwarder_main.cc @@ -8,8 +8,8 @@ #include <string> -#include "base/logging.h" #include "base/command_line.h" +#include "base/logging.h" #include "base/stringprintf.h" #include "tools/android/common/daemon.h" #include "tools/android/forwarder2/device_controller.h" @@ -58,8 +58,9 @@ int main(int argc, char** argv) { signal(SIGINT, KillHandler); CHECK(g_notifier); forwarder2::DeviceController controller(g_notifier->receiver_fd()); + if (!controller.Init(adb_socket_path)) + return 1; printf("Starting Device Forwarder.\n"); - controller.Start(adb_socket_path); - + controller.Start(); return 0; } |