X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd%2Fsd-bus%2Ftest-bus-chat.c;h=7f49fe90fab2a255be6fb86d6246857df77eb874;hb=796f9ac2ba3731fec49fd684b1adc02cfbe6f11b;hp=1b9d98fa7559b6f5bc71b549bbbad2618604b4a7;hpb=03e334a1c7dc8c20c38902aa039440763acc9b17;p=elogind.git diff --git a/src/libsystemd/sd-bus/test-bus-chat.c b/src/libsystemd/sd-bus/test-bus-chat.c index 1b9d98fa7..7f49fe90f 100644 --- a/src/libsystemd/sd-bus/test-bus-chat.c +++ b/src/libsystemd/sd-bus/test-bus-chat.c @@ -19,7 +19,6 @@ along with systemd; If not, see . ***/ -#include #include #include #include @@ -30,7 +29,6 @@ #include "macro.h" #include "sd-bus.h" -#include "bus-message.h" #include "bus-error.h" #include "bus-match.h" #include "bus-internal.h" @@ -44,7 +42,7 @@ static int match_callback(sd_bus *bus, sd_bus_message *m, void *userdata, sd_bus static int object_callback(sd_bus *bus, sd_bus_message *m, void *userdata, sd_bus_error *ret_error) { int r; - assert(bus); + assert_se(bus); if (sd_bus_message_is_method_error(m, NULL)) return 0; @@ -53,10 +51,8 @@ static int object_callback(sd_bus *bus, sd_bus_message *m, void *userdata, sd_bu log_info("Invoked Foobar() on %s", sd_bus_message_get_path(m)); r = sd_bus_reply_method_return(m, NULL); - if (r < 0) { - log_error("Failed to send reply: %s", strerror(-r)); - return r; - } + if (r < 0) + return log_error_errno(r, "Failed to send reply: %m"); return 1; } @@ -70,23 +66,23 @@ static int server_init(sd_bus **_bus) { int r; const char *unique; - assert(_bus); + assert_se(_bus); r = sd_bus_open_user(&bus); if (r < 0) { - log_error("Failed to connect to user bus: %s", strerror(-r)); + log_error_errno(r, "Failed to connect to user bus: %m"); goto fail; } - r = sd_bus_get_server_id(bus, &id); + r = sd_bus_get_bus_id(bus, &id); if (r < 0) { - log_error("Failed to get server ID: %s", strerror(-r)); + log_error_errno(r, "Failed to get server ID: %m"); goto fail; } r = sd_bus_get_unique_name(bus, &unique); if (r < 0) { - log_error("Failed to get unique name: %s", strerror(-r)); + log_error_errno(r, "Failed to get unique name: %m"); goto fail; } @@ -96,25 +92,25 @@ static int server_init(sd_bus **_bus) { r = sd_bus_request_name(bus, "org.freedesktop.systemd.test", 0); if (r < 0) { - log_error("Failed to acquire name: %s", strerror(-r)); + log_error_errno(r, "Failed to acquire name: %m"); goto fail; } - r = sd_bus_add_fallback(bus, "/foo/bar", object_callback, NULL); + r = sd_bus_add_fallback(bus, NULL, "/foo/bar", object_callback, NULL); if (r < 0) { - log_error("Failed to add object: %s", strerror(-r)); + log_error_errno(r, "Failed to add object: %m"); goto fail; } - r = sd_bus_add_match(bus, "type='signal',interface='foo.bar',member='Notify'", match_callback, NULL); + r = sd_bus_add_match(bus, NULL, "type='signal',interface='foo.bar',member='Notify'", match_callback, NULL); if (r < 0) { - log_error("Failed to add match: %s", strerror(-r)); + log_error_errno(r, "Failed to add match: %m"); goto fail; } - r = sd_bus_add_match(bus, "type='signal',interface='org.freedesktop.DBus',member='NameOwnerChanged'", match_callback, NULL); + r = sd_bus_add_match(bus, NULL, "type='signal',interface='org.freedesktop.DBus',member='NameOwnerChanged'", match_callback, NULL); if (r < 0) { - log_error("Failed to add match: %s", strerror(-r)); + log_error_errno(r, "Failed to add match: %m"); goto fail; } @@ -141,14 +137,14 @@ static int server(sd_bus *bus) { r = sd_bus_process(bus, &m); if (r < 0) { - log_error("Failed to process requests: %s", strerror(-r)); + log_error_errno(r, "Failed to process requests: %m"); goto fail; } if (r == 0) { r = sd_bus_wait(bus, (uint64_t) -1); if (r < 0) { - log_error("Failed to wait: %s", strerror(-r)); + log_error_errno(r, "Failed to wait: %m"); goto fail; } @@ -160,9 +156,9 @@ static int server(sd_bus *bus) { sd_bus_creds_get_pid(sd_bus_message_get_creds(m), &pid); sd_bus_creds_get_selinux_context(sd_bus_message_get_creds(m), &label); - log_info("Got message! member=%s pid=%lu label=%s", + log_info("Got message! member=%s pid="PID_FMT" label=%s", strna(sd_bus_message_get_member(m)), - (unsigned long) pid, + pid, strna(label)); /* bus_message_dump(m); */ /* sd_bus_message_rewind(m, true); */ @@ -173,7 +169,7 @@ static int server(sd_bus *bus) { r = sd_bus_message_read(m, "s", &hello); if (r < 0) { - log_error("Failed to get parameter: %s", strerror(-r)); + log_error_errno(r, "Failed to get parameter: %m"); goto fail; } @@ -187,14 +183,14 @@ static int server(sd_bus *bus) { r = sd_bus_reply_method_return(m, "s", lowercase); if (r < 0) { - log_error("Failed to send reply: %s", strerror(-r)); + log_error_errno(r, "Failed to send reply: %m"); goto fail; } } else if (sd_bus_message_is_method_call(m, "org.freedesktop.systemd.test", "ExitClient1")) { r = sd_bus_reply_method_return(m, NULL); if (r < 0) { - log_error("Failed to send reply: %s", strerror(-r)); + log_error_errno(r, "Failed to send reply: %m"); goto fail; } @@ -203,7 +199,7 @@ static int server(sd_bus *bus) { r = sd_bus_reply_method_return(m, NULL); if (r < 0) { - log_error("Failed to send reply: %s", strerror(-r)); + log_error_errno(r, "Failed to send reply: %m"); goto fail; } @@ -214,7 +210,7 @@ static int server(sd_bus *bus) { r = sd_bus_reply_method_return(m, NULL); if (r < 0) { - log_error("Failed to send reply: %s", strerror(-r)); + log_error_errno(r, "Failed to send reply: %m"); goto fail; } @@ -224,21 +220,21 @@ static int server(sd_bus *bus) { r = sd_bus_message_read(m, "h", &fd); if (r < 0) { - log_error("Failed to get parameter: %s", strerror(-r)); + log_error_errno(r, "Failed to get parameter: %m"); goto fail; } log_info("Received fd=%d", fd); if (write(fd, &x, 1) < 0) { - log_error("Failed to write to fd: %m"); + log_error_errno(errno, "Failed to write to fd: %m"); safe_close(fd); goto fail; } r = sd_bus_reply_method_return(m, NULL); if (r < 0) { - log_error("Failed to send reply: %s", strerror(-r)); + log_error_errno(r, "Failed to send reply: %m"); goto fail; } @@ -248,7 +244,7 @@ static int server(sd_bus *bus) { m, &SD_BUS_ERROR_MAKE_CONST(SD_BUS_ERROR_UNKNOWN_METHOD, "Unknown method.")); if (r < 0) { - log_error("Failed to send reply: %s", strerror(-r)); + log_error_errno(r, "Failed to send reply: %m"); goto fail; } } @@ -276,7 +272,7 @@ static void* client1(void*p) { r = sd_bus_open_user(&bus); if (r < 0) { - log_error("Failed to connect to user bus: %s", strerror(-r)); + log_error_errno(r, "Failed to connect to user bus: %m"); goto finish; } @@ -291,20 +287,20 @@ static void* client1(void*p) { "s", "HELLO"); if (r < 0) { - log_error("Failed to issue method call: %s", strerror(-r)); + log_error_errno(r, "Failed to issue method call: %m"); goto finish; } r = sd_bus_message_read(reply, "s", &hello); if (r < 0) { - log_error("Failed to get string: %s", strerror(-r)); + log_error_errno(r, "Failed to get string: %m"); goto finish; } - assert(streq(hello, "hello")); + assert_se(streq(hello, "hello")); if (pipe2(pp, O_CLOEXEC|O_NONBLOCK) < 0) { - log_error("Failed to allocate pipe: %m"); + log_error_errno(errno, "Failed to allocate pipe: %m"); r = -errno; goto finish; } @@ -322,7 +318,7 @@ static void* client1(void*p) { "h", pp[1]); if (r < 0) { - log_error("Failed to issue method call: %s", strerror(-r)); + log_error_errno(r, "Failed to issue method call: %m"); goto finish; } @@ -346,7 +342,7 @@ finish: "org.freedesktop.systemd.test", "ExitClient1"); if (r < 0) - log_error("Failed to allocate method call: %s", strerror(-r)); + log_error_errno(r, "Failed to allocate method call: %m"); else sd_bus_send(bus, q, NULL); @@ -356,7 +352,7 @@ finish: sd_bus_error_free(&error); - close_pipe(pp); + safe_close_pair(pp); return INT_TO_PTR(r); } @@ -380,7 +376,7 @@ static void* client2(void*p) { r = sd_bus_open_user(&bus); if (r < 0) { - log_error("Failed to connect to user bus: %s", strerror(-r)); + log_error_errno(r, "Failed to connect to user bus: %m"); goto finish; } @@ -392,7 +388,7 @@ static void* client2(void*p) { "org.object.test", "Foobar"); if (r < 0) { - log_error("Failed to allocate method call: %s", strerror(-r)); + log_error_errno(r, "Failed to allocate method call: %m"); goto finish; } @@ -412,7 +408,7 @@ static void* client2(void*p) { "foo.bar", "Notify"); if (r < 0) { - log_error("Failed to allocate signal: %s", strerror(-r)); + log_error_errno(r, "Failed to allocate signal: %m"); goto finish; } @@ -433,7 +429,7 @@ static void* client2(void*p) { "org.freedesktop.DBus.Peer", "GetMachineId"); if (r < 0) { - log_error("Failed to allocate method call: %s", strerror(-r)); + log_error_errno(r, "Failed to allocate method call: %m"); goto finish; } @@ -445,7 +441,7 @@ static void* client2(void*p) { r = sd_bus_message_read(reply, "s", &mid); if (r < 0) { - log_error("Failed to parse machine ID: %s", strerror(-r)); + log_error_errno(r, "Failed to parse machine ID: %m"); goto finish; } @@ -462,7 +458,7 @@ static void* client2(void*p) { "org.freedesktop.systemd.test", "Slow"); if (r < 0) { - log_error("Failed to allocate method call: %s", strerror(-r)); + log_error_errno(r, "Failed to allocate method call: %m"); goto finish; } @@ -486,11 +482,11 @@ static void* client2(void*p) { "org.freedesktop.systemd.test", "Slow"); if (r < 0) { - log_error("Failed to allocate method call: %s", strerror(-r)); + log_error_errno(r, "Failed to allocate method call: %m"); goto finish; } - r = sd_bus_call_async(bus, m, quit_callback, &quit, 200 * USEC_PER_MSEC, NULL); + r = sd_bus_call_async(bus, NULL, m, quit_callback, &quit, 200 * USEC_PER_MSEC); if (r < 0) { log_info("Failed to issue method call: %s", bus_error_message(&error, -r)); goto finish; @@ -499,13 +495,13 @@ static void* client2(void*p) { while (!quit) { r = sd_bus_process(bus, NULL); if (r < 0) { - log_error("Failed to process requests: %s", strerror(-r)); + log_error_errno(r, "Failed to process requests: %m"); goto finish; } if (r == 0) { r = sd_bus_wait(bus, (uint64_t) -1); if (r < 0) { - log_error("Failed to wait: %s", strerror(-r)); + log_error_errno(r, "Failed to wait: %m"); goto finish; } } @@ -525,7 +521,7 @@ finish: "org.freedesktop.systemd.test", "ExitClient2"); if (r < 0) { - log_error("Failed to allocate method call: %s", strerror(-r)); + log_error_errno(r, "Failed to allocate method call: %m"); goto finish; }