From: Lennart Poettering Date: Thu, 21 Mar 2013 22:01:59 +0000 (+0100) Subject: bus: implicitly set no_reply flag on outgoing messages if the serial number is not... X-Git-Tag: v199~115 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=29f6aadd5302320d5a7a3868b607eb83687bdfd0;ds=inline bus: implicitly set no_reply flag on outgoing messages if the serial number is not kept If nobody keeps the serial number of an outgoing message we know that nobody expects an answer to it, so set the no_reply flag accordingly. --- diff --git a/src/libsystemd-bus/sd-bus.c b/src/libsystemd-bus/sd-bus.c index d0a36081b..ad840cc87 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 ce92ee7df..a759f54f3 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