X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fhs-clientmanager.cpp;h=832c64fcd4a7278f31ac4ec2ec9e8cb59c904644;hb=868898485c76ad5b0140e6528ba04c08878ea3ce;hp=89b0ae25ce1a591017ab618ad55869c02c7270a1;hpb=4cb1ba39335aa2a2d2e08481acd72a3682adaefe;p=apps%2Fagl-service-homescreen.git diff --git a/src/hs-clientmanager.cpp b/src/hs-clientmanager.cpp index 89b0ae2..832c64f 100644 --- a/src/hs-clientmanager.cpp +++ b/src/hs-clientmanager.cpp @@ -172,13 +172,15 @@ int HS_ClientManager::handleRequest(afb_req_t request, const char *verb, const c { AFB_INFO("verb=[%s],appid=[%s].", verb, appid); int ret = 0; - std::lock_guard lock(this->mtx); + bool isRegisterApp = false; if(appid == nullptr) { + std::lock_guard lock(this->mtx); for(auto m : client_list) { m.second->handleRequest(request, verb); } } else { + std::lock_guard lock(this->mtx); auto ip = client_list.find(std::string(appid)); if(ip != client_list.end()) { ret = ip->second->handleRequest(request, verb); @@ -188,7 +190,7 @@ int HS_ClientManager::handleRequest(afb_req_t request, const char *verb, const c appid2ctxt[appid] = createClientCtxt(request, appid); HS_Client* client = addClient(request, appid); ret = client->handleRequest(request, "subscribe"); - checkRegisterApp(std::string(appid)); + isRegisterApp = true; } else { AFB_NOTICE("not exist session"); @@ -196,6 +198,9 @@ int HS_ClientManager::handleRequest(afb_req_t request, const char *verb, const c } } } + if(isRegisterApp) { + checkRegisterApp(std::string(appid)); + } return ret; } @@ -214,6 +219,7 @@ int HS_ClientManager::handleRequest(afb_req_t request, const char *verb, const c */ int HS_ClientManager::pushEvent(const char *event, struct json_object *param, std::string appid) { + AFB_INFO("event=[%s], appid=[%s].", event, appid.c_str()); if(event == nullptr) { AFB_WARNING("event name is null."); return -1; @@ -247,6 +253,7 @@ int HS_ClientManager::pushEvent(const char *event, struct json_object *param, st */ void HS_ClientManager::checkRegisterApp(const std::string &appid) { + AFB_INFO("appid=[%s].", appid.c_str()); if(HS_AppRecover::instance()->registerRecoveredApp(appid)) { AFB_NOTICE("register recover application."); return;