teknoraver / rpms / systemd

Forked from rpms/systemd 3 months ago
Clone
Blob Blame History Raw
From fc6e005962167c26b9ef6cdd9e3476abeeb47313 Mon Sep 17 00:00:00 2001
From: Frantisek Sumsal <frantisek@sumsal.cz>
Date: Mon, 9 May 2022 23:43:40 +0200
Subject: [PATCH] core: annotate Reexecute() as NoReply

So we're able to tell from the introspection data that the method
doesn't reply.

(cherry picked from commit 624f685fe8ff1a90370e02faf60d0292a8e01f26)

Related: #2087652
---
 man/org.freedesktop.systemd1.xml | 1 +
 src/core/dbus-manager.c          | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/man/org.freedesktop.systemd1.xml b/man/org.freedesktop.systemd1.xml
index bd69a00b57..e1abb7f389 100644
--- a/man/org.freedesktop.systemd1.xml
+++ b/man/org.freedesktop.systemd1.xml
@@ -169,6 +169,7 @@ node /org/freedesktop/systemd1 {
       Dump(out s output);
       DumpByFileDescriptor(out h fd);
       Reload();
+      @org.freedesktop.DBus.Method.NoReply("true")
       Reexecute();
       @org.freedesktop.systemd1.Privileged("true")
       Exit();
diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c
index 9b64a8074d..1a3098ceb1 100644
--- a/src/core/dbus-manager.c
+++ b/src/core/dbus-manager.c
@@ -3105,7 +3105,7 @@ const sd_bus_vtable bus_manager_vtable[] = {
                       NULL,
                       NULL,
                       method_reexecute,
-                      SD_BUS_VTABLE_UNPRIVILEGED),
+                      SD_BUS_VTABLE_UNPRIVILEGED|SD_BUS_VTABLE_METHOD_NO_REPLY),
         SD_BUS_METHOD("Exit",
                       NULL,
                       NULL,