defaultServiceManager wait for service manager ready
If the service manager is not ready when we attempt to create a local
proxy, fail and retry.
Change-Id: I7d7300bc07cd70608793479aa3da282d066da7f6
diff --git a/libs/binder/IServiceManager.cpp b/libs/binder/IServiceManager.cpp
index 1750640..a341ca8 100644
--- a/libs/binder/IServiceManager.cpp
+++ b/libs/binder/IServiceManager.cpp
@@ -37,9 +37,11 @@
{
AutoMutex _l(gDefaultServiceManagerLock);
- if (gDefaultServiceManager == NULL) {
+ while (gDefaultServiceManager == NULL) {
gDefaultServiceManager = interface_cast<IServiceManager>(
ProcessState::self()->getContextObject(NULL));
+ if (gDefaultServiceManager == NULL)
+ sleep(1);
}
}