}
static void on_plymouth_disconnect(Manager *m) {
- safe_close(m->plymouth_fd);
- m->plymouth_fd = -1;
+ m->plymouth_fd = safe_close(m->plymouth_fd);
m->plymouth_cancel_sent = false;
}
/* 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;
}
if (n > 1) {
log_error("Too many file descriptors received.");
return EXIT_FAILURE;
- } else if (n == 1) {
+ } else if (n == 1)
fd = SD_LISTEN_FDS_START + 0;
- } else {
+ else {
fd = make_socket_fd(LOG_DEBUG, FSCKD_SOCKET_PATH, SOCK_STREAM | SOCK_CLOEXEC);
if (fd < 0) {
- log_error_errno(r, "Couldn't create listening socket fd on %s: %m", FSCKD_SOCKET_PATH);
+ log_error_errno(fd, "Couldn't create listening socket fd on %s: %m", FSCKD_SOCKET_PATH);
return EXIT_FAILURE;
}
}