chiark / gitweb /
fsckd: simplify code a bit
authorLennart Poettering <lennart@poettering.net>
Mon, 9 Mar 2015 17:16:36 +0000 (18:16 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 9 Mar 2015 17:16:36 +0000 (18:16 +0100)
src/fsckd/fsckd.c

index 9522fd7b627de3a8c3f91f2da86e2893dcdb81ba..df413fbb83cc4348a423e3268e6e9caa0fe53831 100644 (file)
@@ -338,25 +338,26 @@ static int new_connection_handler(sd_event_source *s, int fd, uint32_t revents,
 
         /* Initialize and list new clients */
         new_client_fd = accept4(m->connection_fd, NULL, NULL, SOCK_CLOEXEC);
-        if (new_client_fd > 0) {
-                log_debug("New fsck client connected to fd: %d", new_client_fd);
-                client = new0(Client, 1);
-                if (!client)
-                        return log_oom();
-                client->fd = new_client_fd;
-                client->manager = m;
-                LIST_PREPEND(clients, m->clients, client);
-                r = sd_event_add_io(m->event, NULL, client->fd, EPOLLIN, progress_handler, client);
-                if (r < 0) {
-                        remove_client(&(m->clients), client);
-                        return r;
-                }
-                /* only request the client to cancel now in case the request is dropped by the client (chance to recancel) */
-                if (m->cancel_requested)
-                        request_cancel_client(client);
-        } else
+        if (new_client_fd < 0)
                 return log_error_errno(errno, "Couldn't accept a new connection: %m");
 
+        log_debug("New fsck client connected to fd: %d", new_client_fd);
+
+        client = new0(Client, 1);
+        if (!client)
+                return log_oom();
+        client->fd = new_client_fd;
+        client->manager = m;
+        LIST_PREPEND(clients, m->clients, client);
+        r = sd_event_add_io(m->event, NULL, client->fd, EPOLLIN, progress_handler, client);
+        if (r < 0) {
+                remove_client(&(m->clients), client);
+                return r;
+        }
+        /* only request the client to cancel now in case the request is dropped by the client (chance to recancel) */
+        if (m->cancel_requested)
+                request_cancel_client(client);
+
         return 0;
 }