summaryrefslogtreecommitdiff
path: root/src/libsystemd-bus/sd-bus.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libsystemd-bus/sd-bus.c')
-rw-r--r--src/libsystemd-bus/sd-bus.c5
1 files changed, 5 insertions, 0 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;