[systemd-commits] src/libsystemd
Daniel Mack
zonque at kemper.freedesktop.org
Mon Jan 5 04:44:49 PST 2015
src/libsystemd/sd-bus/bus-kernel.c | 3 ++-
src/libsystemd/sd-bus/kdbus.h | 4 +++-
2 files changed, 5 insertions(+), 2 deletions(-)
New commits:
commit d7d052b23fe1180946b592884d7ea99fd723af4d
Author: Daniel Mack <daniel at zonque.org>
Date: Mon Jan 5 13:41:30 2015 +0100
sd-bus: sync kdbus.h
Catch up with latest changes in kdbus.ko:
* Signals can be sent as unicast now, hence they need to be marked as
such with the KDBUS_MSG_SIGNAL in the message flags.
* Follow ioctl number change for KDBUS_CMD_FREE
diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c
index 6ee3f92..5b193be 100644
--- a/src/libsystemd/sd-bus/bus-kernel.c
+++ b/src/libsystemd/sd-bus/bus-kernel.c
@@ -296,7 +296,8 @@ static int bus_message_setup_kmsg(sd_bus *b, sd_bus_message *m) {
m->kdbus->flags =
((m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) ? 0 : KDBUS_MSG_EXPECT_REPLY) |
- ((m->header->flags & BUS_MESSAGE_NO_AUTO_START) ? KDBUS_MSG_NO_AUTO_START : 0);
+ ((m->header->flags & BUS_MESSAGE_NO_AUTO_START) ? KDBUS_MSG_NO_AUTO_START : 0) |
+ ((m->header->type == SD_BUS_MESSAGE_SIGNAL) ? KDBUS_MSG_SIGNAL : 0);
if (well_known)
/* verify_destination_id will usually be 0, which makes the kernel driver only look
diff --git a/src/libsystemd/sd-bus/kdbus.h b/src/libsystemd/sd-bus/kdbus.h
index d124f21..5165ba3 100644
--- a/src/libsystemd/sd-bus/kdbus.h
+++ b/src/libsystemd/sd-bus/kdbus.h
@@ -408,10 +408,12 @@ struct kdbus_item_list {
* in cookie_reply
* @KDBUS_MSG_NO_AUTO_START: Do not start a service, if the addressed
* name is not currently active
+ * @KDBUS_MSG_SIGNAL: Treat this message as signal
*/
enum kdbus_msg_flags {
KDBUS_MSG_EXPECT_REPLY = 1ULL << 0,
KDBUS_MSG_NO_AUTO_START = 1ULL << 1,
+ KDBUS_MSG_SIGNAL = 1ULL << 2,
};
/**
@@ -1022,7 +1024,7 @@ struct kdbus_cmd_match {
struct kdbus_cmd_send)
#define KDBUS_CMD_RECV _IOWR(KDBUS_IOCTL_MAGIC, 0x31, \
struct kdbus_cmd_recv)
-#define KDBUS_CMD_FREE _IOW(KDBUS_IOCTL_MAGIC, 0x33, \
+#define KDBUS_CMD_FREE _IOW(KDBUS_IOCTL_MAGIC, 0x32, \
struct kdbus_cmd_free)
#define KDBUS_CMD_NAME_ACQUIRE _IOWR(KDBUS_IOCTL_MAGIC, 0x40, \
More information about the systemd-commits
mailing list