X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flibsystemd-bus%2Ftest-bus-chat.c;fp=src%2Flibsystemd-bus%2Ftest-bus-chat.c;h=533d78cc3b937c5a4b42b3d2ee10251ddbf6bd9c;hp=868a5b14089a87ebcdc922544450d89af74ae937;hb=b7f247e0befb6595049bc2410fe370e21d1f7444;hpb=d4100e2444fc78156a205bbb05703b31063e1248 diff --git a/src/libsystemd-bus/test-bus-chat.c b/src/libsystemd-bus/test-bus-chat.c index 868a5b140..533d78cc3 100644 --- a/src/libsystemd-bus/test-bus-chat.c +++ b/src/libsystemd-bus/test-bus-chat.c @@ -206,14 +206,14 @@ static int server(sd_bus *bus) { client2_gone = true; } else if (sd_bus_message_is_method_call(m, "org.freedesktop.systemd.test", "Slow")) { + sleep(1); + r = sd_bus_reply_method_return(bus, m, NULL); if (r < 0) { log_error("Failed to send reply: %s", strerror(-r)); goto fail; } - sleep(1); - } else if (sd_bus_message_is_method_call(m, "org.freedesktop.systemd.test", "FileDescriptor")) { int fd; static const char x = 'X'; @@ -305,31 +305,18 @@ static void* client1(void*p) { goto finish; } - sd_bus_message_unref(m); - m = NULL; - r = sd_bus_message_new_method_call( + r = sd_bus_call_method( bus, "org.freedesktop.systemd.test", "/", "org.freedesktop.systemd.test", "FileDescriptor", - &m); - if (r < 0) { - log_error("Failed to allocate method call: %s", strerror(-r)); - goto finish; - } - - r = sd_bus_message_append(m, "h", pp[1]); - if (r < 0) { - log_error("Failed to append string: %s", strerror(-r)); - goto finish; - } - - sd_bus_message_unref(reply); - reply = NULL; - r = sd_bus_send_with_reply_and_block(bus, m, 0, &error, &reply); + &error, + NULL, + "h", + pp[1]); if (r < 0) { - log_error("Failed to issue method call: %s", bus_error_message(&error, -r)); + log_error("Failed to issue method call: %s", strerror(-r)); goto finish; } @@ -352,12 +339,11 @@ finish: "org.freedesktop.systemd.test", "ExitClient1", &q); - if (r < 0) { + if (r < 0) log_error("Failed to allocate method call: %s", strerror(-r)); - goto finish; - } + else + sd_bus_send(bus, q, NULL); - sd_bus_send(bus, q, NULL); sd_bus_flush(bus); sd_bus_unref(bus); }