[systemd-commits] src/libsystemd-bus

Kay Sievers kay at kemper.freedesktop.org
Tue Dec 10 20:41:39 PST 2013


 src/libsystemd-bus/bus-kernel.c |    2 +-
 src/libsystemd-bus/kdbus.h      |   15 +++++++--------
 2 files changed, 8 insertions(+), 9 deletions(-)

New commits:
commit e599ba01f564161966b3b8c93cc229daf847e807
Author: Kay Sievers <kay at vrfy.org>
Date:   Wed Dec 11 05:30:46 2013 +0100

    bus: kdbus - skip only STARTER and IN_QUEUE names for NameOwnerChanged

diff --git a/src/libsystemd-bus/bus-kernel.c b/src/libsystemd-bus/bus-kernel.c
index f66cf04..92acbee 100644
--- a/src/libsystemd-bus/bus-kernel.c
+++ b/src/libsystemd-bus/bus-kernel.c
@@ -514,7 +514,7 @@ static int translate_name_change(sd_bus *bus, struct kdbus_msg *k, struct kdbus_
         assert(k);
         assert(d);
 
-        if (d->name_change.flags != 0)
+        if (d->name_change.flags & (KDBUS_NAME_IN_QUEUE|KDBUS_NAME_STARTER))
                 return 0;
 
         if (d->type == KDBUS_ITEM_NAME_ADD)
diff --git a/src/libsystemd-bus/kdbus.h b/src/libsystemd-bus/kdbus.h
index d53c269..ccc65cb 100644
--- a/src/libsystemd-bus/kdbus.h
+++ b/src/libsystemd-bus/kdbus.h
@@ -527,18 +527,17 @@ struct kdbus_cmd_ns_make {
 /**
  * enum kdbus_name_flags - properties of a well-known name
  * @KDBUS_NAME_REPLACE_EXISTING:	Try to replace name of other connections
- * @KDBUS_NAME_QUEUE:			Name should be queued if busy
  * @KDBUS_NAME_ALLOW_REPLACEMENT:	Allow the replacement of the name
+ * @KDBUS_NAME_QUEUE:			Name should be queued if busy
  * @KDBUS_NAME_IN_QUEUE:		Name is queued
+ * @KDBUS_NAME_STARTER:			Name is owned by a starter connection
  */
 enum kdbus_name_flags {
-	/* userspace → kernel */
 	KDBUS_NAME_REPLACE_EXISTING		= 1 <<  0,
-	KDBUS_NAME_QUEUE			= 1 <<  1,
-	KDBUS_NAME_ALLOW_REPLACEMENT		= 1 <<  2,
-
-	/* kernel → userspace */
-	KDBUS_NAME_IN_QUEUE			= 1 << 16,
+	KDBUS_NAME_ALLOW_REPLACEMENT		= 1 <<  1,
+	KDBUS_NAME_QUEUE			= 1 <<  2,
+	KDBUS_NAME_IN_QUEUE			= 1 <<  3,
+	KDBUS_NAME_STARTER			= 1 <<  4,
 };
 
 /**
@@ -609,7 +608,7 @@ struct kdbus_name_list {
  * 			@name is required. kdbus will look up the name to determine
  * 			the ID in this case.
  * @offset:		Returned offset in the caller's pool buffer where the
- * 			kdbus_name_info struct result is stored. The user must
+ * 			kdbus_conn_info struct result is stored. The user must
  * 			use KDBUS_CMD_FREE to free the allocated memory.
  * @name:		The optional well-known name to look up. Only needed in
  * 			case @id is zero.



More information about the systemd-commits mailing list