[lib-fix] org.freedesktop.DBus.RequestName returns DBUS_REQUEST_NAME_REPLY_ALREADY_OW...
authorRadoslaw Pajak <r.pajak@samsung.com>
Thu, 7 Nov 2013 11:41:57 +0000 (12:41 +0100)
committerRadoslaw Pajak <r.pajak@samsung.com>
Thu, 7 Nov 2013 11:41:57 +0000 (12:41 +0100)
From know org.freedesktop.DBus.RequestName returns DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER if needed.
Need also kdbus with commit 40f93fbf6c from 06.11.2013. Without this commit libdbus will work and
do not crash, but DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER still won't be returned.

Change-Id: I52c0efa17f9f65031a84439f24daa1f7e8daed70
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
dbus/kdbus-common.c

index a456dd9..2334ba7 100644 (file)
@@ -183,6 +183,8 @@ int request_kdbus_name(int fd, const char *name, const __u64 flags, __u64 id)
       _dbus_verbose ("error acquiring name '%s': %m, %d\n", name, errno);
       if(errno == EEXIST)
         return DBUS_REQUEST_NAME_REPLY_EXISTS;
+      if(errno == EALREADY)
+        return DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER;
       return -errno;
     }
 
@@ -192,9 +194,6 @@ int request_kdbus_name(int fd, const char *name, const __u64 flags, __u64 id)
     return DBUS_REQUEST_NAME_REPLY_IN_QUEUE;
   else
     return DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER;
-  /*todo now 1 code is never returned -  DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER
-   * because kdbus never returns it now
-   */
 }
 
 /**