summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libsystemd-bus/busctl.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libsystemd-bus/busctl.c b/src/libsystemd-bus/busctl.c
index b9b3305e93..4204adb5bc 100644
--- a/src/libsystemd-bus/busctl.c
+++ b/src/libsystemd-bus/busctl.c
@@ -129,6 +129,7 @@ static int list_bus_names(sd_bus *bus, char **argv) {
}
static int monitor(sd_bus *bus, char *argv[]) {
+ bool added_something = false;
char **i;
int r;
@@ -149,6 +150,8 @@ static int monitor(sd_bus *bus, char *argv[]) {
log_error("Failed to add match: %s", strerror(-r));
return r;
}
+
+ added_something = true;
}
STRV_FOREACH(i, arg_matches) {
@@ -157,6 +160,16 @@ static int monitor(sd_bus *bus, char *argv[]) {
log_error("Failed to add match: %s", strerror(-r));
return r;
}
+
+ added_something = true;
+ }
+
+ if (!added_something) {
+ r = sd_bus_add_match(bus, "", NULL, NULL);
+ if (r < 0) {
+ log_error("Failed to add match: %s", strerror(-r));
+ return r;
+ }
}
for (;;) {