diff options
author | Lars Uebernickel <lars@uebernic.de> | 2015-09-23 00:06:18 +0200 |
---|---|---|
committer | Lars Uebernickel <lars@uebernic.de> | 2015-09-23 00:06:18 +0200 |
commit | f6d1e6cbe98307b72fbc02ad8f269f5588681856 (patch) | |
tree | a16fc2b911433561167967244d01d6efed33c715 /src | |
parent | 3c0fffb74ef7ea572182d9637847e950e9a3a922 (diff) |
busctl: also monitor messages to SERVICE arguments
Add a 'destination' match rule for every SERVICE argument in addition to
the 'sender' rule. This is consistent with busctl(1), which documents
monitor as dumping "messages to or from this peer".
Diffstat (limited to 'src')
-rw-r--r-- | src/libsystemd/sd-bus/busctl.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libsystemd/sd-bus/busctl.c b/src/libsystemd/sd-bus/busctl.c index 09eba51d1c..5d07d5809c 100644 --- a/src/libsystemd/sd-bus/busctl.c +++ b/src/libsystemd/sd-bus/busctl.c @@ -1096,6 +1096,15 @@ static int monitor(sd_bus *bus, char *argv[], int (*dump)(sd_bus_message *m, FIL if (r < 0) return log_error_errno(r, "Failed to add match: %m"); + free(m); + m = strjoin("destination='", *i, "'", NULL); + if (!m) + return log_oom(); + + r = sd_bus_add_match(bus, NULL, m, NULL, NULL); + if (r < 0) + return log_error_errno(r, "Failed to add match: %m"); + added_something = true; } |