X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Finitctl%2Finitctl.c;h=7a6a383b32560509704f421e340d29fbf6b9b754;hb=d27efd93841a2ac2127fd53321368cc3f975c564;hp=f3f6f7304073f44cc9660f35d9d6fef4c9de977d;hpb=82d252404a7ee6bd5f24482a0b50a8e91aa93257;p=elogind.git diff --git a/src/initctl/initctl.c b/src/initctl/initctl.c index f3f6f7304..7a6a383b3 100644 --- a/src/initctl/initctl.c +++ b/src/initctl/initctl.c @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include #include #include @@ -162,7 +162,7 @@ static void request_process(Server *s, const struct init_request *req) { case 'u': case 'U': if (kill(1, SIGTERM) < 0) - log_error("kill() failed: %m"); + log_error_errno(errno, "kill() failed: %m"); /* The bus connection will be * terminated if PID 1 is reexecuted, @@ -175,7 +175,7 @@ static void request_process(Server *s, const struct init_request *req) { case 'q': case 'Q': if (kill(1, SIGHUP) < 0) - log_error("kill() failed: %m"); + log_error_errno(errno, "kill() failed: %m"); break; default: @@ -217,8 +217,8 @@ static int fifo_process(Fifo *f) { if (errno == EAGAIN) return 0; - log_warning("Failed to read from fifo: %m"); - return -1; + log_warning_errno(errno, "Failed to read from fifo: %m"); + return -errno; } f->bytes_read += l; @@ -277,7 +277,7 @@ static int server_init(Server *s, unsigned n_sockets) { s->epoll_fd = epoll_create1(EPOLL_CLOEXEC); if (s->epoll_fd < 0) { r = -errno; - log_error("Failed to create epoll object: %m"); + log_error_errno(errno, "Failed to create epoll object: %m"); goto fail; } @@ -290,8 +290,7 @@ static int server_init(Server *s, unsigned n_sockets) { r = sd_is_fifo(fd, NULL); if (r < 0) { - log_error("Failed to determine file descriptor type: %s", - strerror(-r)); + log_error_errno(r, "Failed to determine file descriptor type: %m"); goto fail; } @@ -304,7 +303,7 @@ static int server_init(Server *s, unsigned n_sockets) { f = new0(Fifo, 1); if (!f) { r = -ENOMEM; - log_error("Failed to create fifo object: %m"); + log_error_errno(errno, "Failed to create fifo object: %m"); goto fail; } @@ -316,7 +315,7 @@ static int server_init(Server *s, unsigned n_sockets) { if (epoll_ctl(s->epoll_fd, EPOLL_CTL_ADD, fd, &ev) < 0) { r = -errno; fifo_free(f); - log_error("Failed to add fifo fd to epoll object: %m"); + log_error_errno(errno, "Failed to add fifo fd to epoll object: %m"); goto fail; } @@ -328,7 +327,7 @@ static int server_init(Server *s, unsigned n_sockets) { r = bus_open_system_systemd(&s->bus); if (r < 0) { - log_error("Failed to get D-Bus connection: %s", strerror(-r)); + log_error_errno(r, "Failed to get D-Bus connection: %m"); r = -EIO; goto fail; } @@ -355,7 +354,7 @@ static int process_event(Server *s, struct epoll_event *ev) { f = (Fifo*) ev->data.ptr; r = fifo_process(f); if (r < 0) { - log_info("Got error on fifo: %s", strerror(-r)); + log_info_errno(r, "Got error on fifo: %m"); fifo_free(f); return r; } @@ -385,7 +384,7 @@ int main(int argc, char *argv[]) { n = sd_listen_fds(true); if (n < 0) { - log_error("Failed to read listening file descriptors from environment: %s", strerror(-r)); + log_error_errno(r, "Failed to read listening file descriptors from environment: %m"); return EXIT_FAILURE; } @@ -414,7 +413,7 @@ int main(int argc, char *argv[]) { if (errno == EINTR) continue; - log_error("epoll_wait() failed: %m"); + log_error_errno(errno, "epoll_wait() failed: %m"); goto fail; } @@ -431,6 +430,7 @@ int main(int argc, char *argv[]) { fail: sd_notify(false, + "STOPPING=1\n" "STATUS=Shutting down..."); server_done(&server);