[systemd-devel] [PATCH] sd-bus: make sure type=error messages are also dumped
Lennart Poettering
lennart at poettering.net
Mon Jun 8 13:18:36 PDT 2015
On Fri, 29.05.15 09:48, Umut Tezduyar Lindskog (umut.tezduyar at axis.com) wrote:
> ---
> src/libsystemd/sd-bus/sd-bus.c | 26 +++++++++++++++-----------
> 1 file changed, 15 insertions(+), 11 deletions(-)
>
> diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
> index edc27ae..a6096f9 100644
> --- a/src/libsystemd/sd-bus/sd-bus.c
> +++ b/src/libsystemd/sd-bus/sd-bus.c
> @@ -49,6 +49,17 @@
> #include "bus-track.h"
> #include "bus-slot.h"
>
> +#define log_debug_bus_message(m) log_debug("Got message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%" PRIu64 " reply_cookie=%" PRIu64 " error=%s", \
> + bus_message_type_to_string(m->header->type), \
> + strna(sd_bus_message_get_sender(m)), \
> + strna(sd_bus_message_get_destination(m)), \
> + strna(sd_bus_message_get_path(m)), \
> + strna(sd_bus_message_get_interface(m)), \
> + strna(sd_bus_message_get_member(m)), \
> + BUS_MESSAGE_COOKIE(m), \
> + m->reply_cookie, \
> + strna(m->error.message))
> +
> static int bus_poll(sd_bus *bus, bool need_more, uint64_t timeout_usec);
> static int attach_io_events(sd_bus *b);
> static void detach_io_events(sd_bus *b);
> @@ -2006,8 +2017,10 @@ _public_ int sd_bus_call(
>
> r = sd_bus_error_setf(error, SD_BUS_ERROR_INCONSISTENT_MESSAGE, "Reply message contained file descriptors which I couldn't accept. Sorry.");
>
> - } else if (incoming->header->type == SD_BUS_MESSAGE_METHOD_ERROR)
> + } else if (incoming->header->type == SD_BUS_MESSAGE_METHOD_ERROR) {
> + log_debug_bus_message(incoming);
> r = sd_bus_error_copy(error, &incoming->error);
> + }
> else
> r = -EIO;
>
> @@ -2480,16 +2493,7 @@ static int process_message(sd_bus *bus, sd_bus_message *m) {
> bus->current_message = m;
> bus->iteration_counter++;
>
> - log_debug("Got message type=%s sender=%s destination=%s object=%s interface=%s member=%s cookie=%" PRIu64 " reply_cookie=%" PRIu64 " error=%s",
> - bus_message_type_to_string(m->header->type),
> - strna(sd_bus_message_get_sender(m)),
> - strna(sd_bus_message_get_destination(m)),
> - strna(sd_bus_message_get_path(m)),
> - strna(sd_bus_message_get_interface(m)),
> - strna(sd_bus_message_get_member(m)),
> - BUS_MESSAGE_COOKIE(m),
> - m->reply_cookie,
> - strna(m->error.message));
> + log_debug_bus_message(m);
>
> r = process_hello(bus, m);
> if (r != 0)
Discussion about this patch set has been moved to github:
https://github.com/systemd/systemd/pull/27
Lennart
--
Lennart Poettering, Red Hat
More information about the systemd-devel
mailing list