summaryrefslogtreecommitdiffstats
path: root/tools/android
diff options
context:
space:
mode:
authorpliard@chromium.org <pliard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-09 10:39:41 +0000
committerpliard@chromium.org <pliard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-09 10:39:41 +0000
commit0e97c46b3e10d41ee58ba59d350230d3f2cd0b4b (patch)
treebb110ce52dd8afa963977b991603be8039e88426 /tools/android
parentbe486c53a9a00aa2ecaf5b86762a550a70594287 (diff)
downloadchromium_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.cc12
-rw-r--r--tools/android/forwarder2/device_controller.h4
-rw-r--r--tools/android/forwarder2/device_forwarder_main.cc7
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;
}