diff options
Diffstat (limited to 'src/libsystemd-bus/busctl.c')
-rw-r--r-- | src/libsystemd-bus/busctl.c | 13 |
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 (;;) { |