diff options
author | Kay Sievers <kay@vrfy.org> | 2013-12-11 05:30:46 +0100 |
---|---|---|
committer | Kay Sievers <kay@vrfy.org> | 2013-12-11 05:38:25 +0100 |
commit | e599ba01f564161966b3b8c93cc229daf847e807 (patch) | |
tree | e743d21feeebb2d1018f045a6e2509f6e578de98 /src/libsystemd-bus | |
parent | c099716487df4a4f5394e57e7ca14da1d358166a (diff) |
bus: kdbus - skip only STARTER and IN_QUEUE names for NameOwnerChanged
Diffstat (limited to 'src/libsystemd-bus')
-rw-r--r-- | src/libsystemd-bus/bus-kernel.c | 2 | ||||
-rw-r--r-- | src/libsystemd-bus/kdbus.h | 15 |
2 files changed, 8 insertions, 9 deletions
diff --git a/src/libsystemd-bus/bus-kernel.c b/src/libsystemd-bus/bus-kernel.c index f66cf04e16..92acbeec5e 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 d53c269573..ccc65cb15a 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. |