Revert "Cleanup getService" am: 5f009cbdba am: 5c53135064
am: f34434a6fa

Change-Id: I8c276bfb184fa7b4ff9b94e08ce74f557ee043ab
diff --git a/generateCpp.cpp b/generateCpp.cpp
index 55ea0d1..a3c9a78 100644
--- a/generateCpp.cpp
+++ b/generateCpp.cpp
@@ -187,8 +187,13 @@
         //     }
         // }
 
-        out << "bool tried = false;\n";
-        out.sWhile("!getStub && (vintfHwbinder || (vintfEmpty && !tried))", [&] {
+        out.sFor("bool tried = false; "
+                 "!getStub && (vintfHwbinder || (vintfEmpty && !tried)); "
+                 "tried = true", [&] {
+
+            // Because this is a for loop, a "continue" statement means
+            // setting tried, and hence "break" for vintfEmpty and
+            // "retry" for vintfHwBinder
 
             out.sIf("tried", [&] {
                 // sleep only after the first trial.
@@ -196,8 +201,6 @@
                     << "sleep(1);\n";
             }).endl();
 
-            out << "tried = true;\n";
-
             out << "const ::android::sp<::android::hidl::manager::V1_0::IServiceManager> sm\n";
             out.indent(2, [&] {
                 out << "= ::android::hardware::defaultServiceManager();\n";