summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/fsckd/fsckd.c35
1 files changed, 18 insertions, 17 deletions
diff --git a/src/fsckd/fsckd.c b/src/fsckd/fsckd.c
index 9522fd7b62..df413fbb83 100644
--- a/src/fsckd/fsckd.c
+++ b/src/fsckd/fsckd.c
@@ -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;
}