chiark / gitweb /
util: add macro for iterating through all prefixes of a path
[elogind.git] / src / initctl / initctl.c
index 0eb008d9e6bd6969635d96b182f8a7729c47330e..ec33040509094b8e584d1159d3a9dd91903d91e5 100644 (file)
@@ -122,7 +122,7 @@ static void change_runlevel(Server *s, int runlevel) {
         if (isolate)
                 mode = "isolate";
         else
-                mode = "replace";
+                mode = "replace-irreversibly";
 
         log_debug("Running request %s/start/%s", target, mode);
 
@@ -223,8 +223,10 @@ static int fifo_process(Fifo *f) {
         assert(f);
 
         errno = EIO;
-        if ((l = read(f->fd, ((uint8_t*) &f->buffer) + f->bytes_read, sizeof(f->buffer) - f->bytes_read)) <= 0) {
-
+        l = read(f->fd,
+                 ((uint8_t*) &f->buffer) + f->bytes_read,
+                 sizeof(f->buffer) - f->bytes_read);
+        if (l <= 0) {
                 if (errno == EAGAIN)
                         return 0;
 
@@ -290,7 +292,8 @@ static int server_init(Server *s, unsigned n_sockets) {
 
         zero(*s);
 
-        if ((s->epoll_fd = epoll_create1(EPOLL_CLOEXEC)) < 0) {
+        s->epoll_fd = epoll_create1(EPOLL_CLOEXEC);
+        if (s->epoll_fd < 0) {
                 r = -errno;
                 log_error("Failed to create epoll object: %s", strerror(errno));
                 goto fail;
@@ -303,8 +306,10 @@ static int server_init(Server *s, unsigned n_sockets) {
 
                 fd = SD_LISTEN_FDS_START+i;
 
-                if ((r = sd_is_fifo(fd, NULL)) < 0) {
-                        log_error("Failed to determine file descriptor type: %s", strerror(-r));
+                r = sd_is_fifo(fd, NULL);
+                if (r < 0) {
+                        log_error("Failed to determine file descriptor type: %s",
+                                  strerror(-r));
                         goto fail;
                 }
 
@@ -314,9 +319,11 @@ static int server_init(Server *s, unsigned n_sockets) {
                         goto fail;
                 }
 
-                if (!(f = new0(Fifo, 1))) {
+                f = new0(Fifo, 1);
+                if (!f) {
                         r = -ENOMEM;
-                        log_error("Failed to create fifo object: %s", strerror(errno));
+                        log_error("Failed to create fifo object: %s",
+                                  strerror(errno));
                         goto fail;
                 }
 
@@ -328,7 +335,8 @@ 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: %s", strerror(errno));
+                        log_error("Failed to add fifo fd to epoll object: %s",
+                                  strerror(errno));
                         goto fail;
                 }
 
@@ -339,7 +347,9 @@ static int server_init(Server *s, unsigned n_sockets) {
         }
 
         if (bus_connect(DBUS_BUS_SYSTEM, &s->bus, NULL, &error) < 0) {
-                log_error("Failed to get D-Bus connection: %s", bus_error_message(&error));
+                log_error("Failed to get D-Bus connection: %s",
+                          bus_error_message(&error));
+                r = -EIO;
                 goto fail;
         }
 
@@ -364,8 +374,8 @@ static int process_event(Server *s, struct epoll_event *ev) {
         }
 
         f = (Fifo*) ev->data.ptr;
-
-        if ((r = fifo_process(f)) < 0) {
+        r = fifo_process(f);
+        if (r < 0) {
                 log_info("Got error on fifo: %s", strerror(-r));
                 fifo_free(f);
                 return r;