}
}
-#ifdef CHECK_APP_IS_RUNNING
+ int retry_num = 0;
+ bool succeeded = false;
bool running = false;
- if (appid && 0 == app_manager_is_running(appid, &running)) {
- if (!running) {
- MAS_LOGE("The PID for %s was %d, but it seems to be terminated : %d",
- (appid ? appid : "NULL"), ret, running);
- mas_client_deinitialize(ret);
- ret = -1;
- }
+ if (appid) {
+ do {
+ succeeded = (0 == app_manager_is_running(appid, &running));
+ if (succeeded && !running) {
+ MAS_LOGE("The PID for %s was %d, but it seems to be terminated : %d",
+ (appid ? appid : "NULL"), ret, running);
+ mas_client_deinitialize(ret);
+ ret = -1;
+ }
+ if (!succeeded) usleep(10000);
+ } while(!succeeded && retry_num++ < 3);
}
-#endif
return ret;
}
ret = client->appid;
}
-#ifdef CHECK_APP_IS_RUNNING
+ int retry_num = 0;
+ bool succeeded = false;
bool running = false;
- if (ret && 0 == app_manager_is_running(ret, &running)) {
- if (!running) {
- MAS_LOGE("The appid for %d was %s, but it seems to be terminated : %d",
- pid, (ret ? ret : "NULL"), running);
- mas_client_deinitialize(pid);
- ret = NULL;
- }
+ if (ret) {
+ do {
+ succeeded = (0 == app_manager_is_running(ret, &running));
+ if (succeeded && !running) {
+ MAS_LOGE("The appid for %d was %s, but it seems to be terminated : %d",
+ pid, (ret ? ret : "NULL"), running);
+ mas_client_deinitialize(pid);
+ ret = NULL;
+ }
+ if (!succeeded) usleep(10000);
+ } while(!succeeded && retry_num++ < 3);
}
-#endif
return ret;
}