Fix Fdbroker Watch method 45/177845/1
authorHwankyu Jhun <h.jhun@samsung.com>
Fri, 4 May 2018 04:43:33 +0000 (13:43 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Fri, 4 May 2018 04:47:07 +0000 (13:47 +0900)
While calling rejected callback, the developer retriesto connect
to stub. This patch removes unnecessary exception handlings about
watching gdbus name of stub.

Change-Id: If8f8d8a6fcf9e604ec219e2cb5212a4886949fc7
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
src/fdbroker-internal.cc

index f8de05b..191143b 100644 (file)
@@ -549,9 +549,6 @@ int FdBroker::Watch(IEventWatcher* ev, const std::string& target_appid,
                     const std::string& port_name) {
   int r;
 
-  if (watcher_ != nullptr)
-    return -1;
-
   if (ev == nullptr)
     return -1;
 
@@ -577,6 +574,13 @@ int FdBroker::Watch(IEventWatcher* ev, const std::string& target_appid,
   }
 
   std::string interface_name = GetInterfaceName(target_appid, port_name);
+
+  if (watcher_id_ > 0) {
+    g_bus_unwatch_name(watcher_id_);
+    LOGD("Retry to watch name. stub %s:%s",
+        target_appid.c_str(), port_name.c_str());
+  }
+
   watcher_id_ = g_bus_watch_name_on_connection(
       DBusConnectionManager::GetInst().GetConnection(),
       interface_name.c_str(),