- 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, client_progress_handler, client);
+ c = new0(Client, 1);
+ if (!c) {
+ safe_close(new_client_fd);
+ log_oom();
+ return 0;
+ }
+
+ c->fd = new_client_fd;
+ r = sd_event_add_io(m->event, &c->event_source, c->fd, EPOLLIN, client_progress_handler, c);