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

This commit is contained in:
Kay Sievers
2013-12-11 05:38:25 +01:00
parent c099716487
commit e599ba01f5
2 changed files with 8 additions and 9 deletions
+1 -1
View File
@@ -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)
+7 -8
View File
@@ -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.