summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libsystemd-bus/sd-bus.c5
-rw-r--r--src/libsystemd-bus/sd-bus.h1
2 files changed, 5 insertions, 1 deletions
diff --git a/src/libsystemd-bus/sd-bus.c b/src/libsystemd-bus/sd-bus.c
index d0a36081bc..ad840cc875 100644
--- a/src/libsystemd-bus/sd-bus.c
+++ b/src/libsystemd-bus/sd-bus.c
@@ -1057,6 +1057,11 @@ int sd_bus_send(sd_bus *bus, sd_bus_message *m, uint64_t *serial) {
if (!m)
return -EINVAL;
+ /* If the serial number isn't kept, then we know that no reply
+ * is expected */
+ if (!serial && !m->sealed)
+ m->header->flags |= SD_BUS_MESSAGE_NO_REPLY_EXPECTED;
+
r = bus_seal_message(bus, m);
if (r < 0)
return r;
diff --git a/src/libsystemd-bus/sd-bus.h b/src/libsystemd-bus/sd-bus.h
index ce92ee7df6..a759f54f3e 100644
--- a/src/libsystemd-bus/sd-bus.h
+++ b/src/libsystemd-bus/sd-bus.h
@@ -33,7 +33,6 @@
* - add page donation logic
* - api for appending/reading fixed arrays
* - always verify container depth
- * - implicitly set no_reply when a message-call is sent an the serial number ignored
* - handle NULL strings nicer when appending
* - merge busctl into systemctl or so?
* - add object handlers